Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jun 2026 09:23:57 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Jeremy McMillan <jtmcmillan@pm.me>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Need testers for ALPHA RPi-5 fan control, GE NIC, WiFi drivers for FreeBSD-CURRENT
Message-ID:  <1135a89b-16b2-489e-b114-45795a451161@yahoo.com>
In-Reply-To: <cdd08f91-9510-4390-81e5-dd489c765b7b@yahoo.com>
References:  <9YCJYFriU7X2_37aSWQTo5jJSmaf46t827hI4KjmCLaCFNGbgMj4MxRzc4-sUSig2RolfvNOWikCxYuWL3YJfqMgw-5d4FDjG8xtnRGJyMY=@pm.me> <2427b72e-4540-4c50-924f-670117ce3c2c@yahoo.com> <cdd08f91-9510-4390-81e5-dd489c765b7b@yahoo.com>

index | next in thread | previous in thread | raw e-mail

On 6/12/26 09:20, Mark Millard wrote:
> On 6/2/26 09:13, Mark Millard wrote:
>> On 5/29/26 17:42, Jeremy McMillan wrote:
>>>
>>>
>>> If anyone has a Raspberry Pi 5 that's not dedicated to anything
>>> important, I'd appreciate some help testing this:
>>>
>>> https://github.com/aphor/FreeBSD15-RPi5-modules <https://github.com/
>>> aphor/FreeBSD15-RPi5-modules>
>>>
>>> The README.md is up to date, but other docs in there might be stale.
>>
>> A question: Are these changes done in a form that works with the RPi5
>> firmware and its interfaces? That firmware runs on a different processor
>> and cannot be disabled as far as I know. If I understand right, for
>> example, the RPi5 firmware never gives up on providing some thermal
>> control --not that I know details if that is correct. As I understand
>> EDK2 does not disable the RPI5 firmware but still interacts with it.
>>
>> (My wording is likely poor for identifying which firmware is being
>> referenced. I'm trying to reference the same firmware that deals with
>> the early boot and reads things like the config.txt and loads the
>> appropriate *.dtb and, sometimes, *.dtbo files and so on.)
>>
>>>
>>> IDK if I should try to implement Bluetooth yet. I haven't tried using
>>> FreeBSD bluetooth with working known-good drivers on supported hardware,
>>> but when this is relatively complete I'm planning to do some bug fixing
>>> and performance improvements where necessary in a BETA phase, then a
>>> rewrite from scratch for maintainability that can be submitted to
>>> FreeBSD-CURRENT. I know the repo says FreeBSD15, but I'm currently
>>> building against FreeBSD-16-CURRENT. I've had feedback that the fan
>>> control works fine on FreeBSD-15.
>>>
>>> I also don't know what I should do about GPIO testing. I'd appreciate
>>> any pointers if other people work with RPi hardware and have any
>>> pointers for testing GPIO stuff. I think there's a few pins that can do
>>> DAC and ADC and others that can do PWM (like the ones used for the fan
>>> header) when programmed to different modes. I have an oscilloscope, but
>>> I'd like to automate testing as much as possible because my spare time
>>> is precious.
>>>
>>> It seems like RPi-5 will be around for a while under the current market
>>> conditions for the semiconductor business, and it is my hope that
>>> FreeBSD can deserve and get more attention and support from Broadcom and
>>> Raspberry Pi. Also, I have my own projects :)
>>>
>>> Thanks in advance for your attention!
>>
>>
> 
> 
> OIn the recent update (thanks) of:
> 
> <https://github.com/aphor/FreeBSD15-RPi5-modules/blob/main/doc/INTEGRATION_GUIDE.md>;
> 
> you seem to have confused the contents of bcm2712-rpi-5-b.dtb vs. the
> live fdt that is provided to the FreeBSD kernel (shown via being
> translated back to sorted *.dtb source code and doing a diff):
> 
>                                pwm@9c000 {
> 
>                                         #pwm-cells = <0x3>;
>                                         assigned-clock-rates = <0x2faf080>;
>                                         assigned-clocks = <0x2 0x12>;
>                                         clocks = <0x2 0x12>;
>                                         compatible = "raspberrypi,rp1-pwm";
>                                         phandle = <0x61>;
>                                         pinctrl-0 = <0x39>;
>                                         pinctrl-names = "default";
>                                         reg = <0xc0 0x4009c000 0x0 0x100>;
> -                                       status = "disabled";
> +                                       status = "okay";
>                                 };
> 
> For the D0 RPi5 EDK2 context, pwm@9c000 is enabled, not disabled. (Same
> for the older C1 RPi5 EDK2 context.)
> 
> If one can boot the FreeBSD OS on an RPi* with the FDT enabled (even if
> unused, such as via EDK2 configured publishing both ACPI and FDT), the
> way to see what is enabled vs. not in the FDT --and all other details--
> is the likes of:
> 
> # sysctl -b hw.fdt.dtb | dtc -I dtb -s > ~/RPIMODEL-live.dts
> 
> If you do that you will find that RPi5 pwm@9c000 has: status = "okay";
> 
> This makes a couple of areas in the notes misleading, as
> bcm2712-rpi-5-b.dtb is not directly used by FreeBSD or its loader or
> even by EDK2: only the RPi5's firmware reads the file --and then makes
> adjustments. The file is not directly relevant to the FreeBSD kernel.
> 
> 
> I will note that each stage can/is-allowewd-to update the FDT that the
> FreeBSD kernel gets by making an adjusted FDT and passing it to the next
> stage:
> 
> ) RPi* firmware
> ) EDK2
> ) FreeBSD efi loader
> 
> (It may be most common to just add something independent.)
> 
> The same sort of thing is true for using, say, U-Boot --instead of an EDK2.
> 
> 

By the way, cooling_fan has the same status difference between the file
and the live FDT:

        cooling_fan {

                #cooling-cells = <0x2>;
                compatible = "pwm-fan";
                cooling-levels = <0x0 0x4b 0x7d 0xaf 0xfa>;
                cooling-max-state = <0x3>;
                cooling-min-state = <0x0>;
                phandle = <0x54>;
                pwms = <0x61 0x3 0xa25e 0x1>;
                rpm-offset = <0x3c>;
                rpm-regmap = <0x61>;
-               status = "disabled";
+               status = "okay";
        };

was also in the diff.

-- 
===
Mark Millard
marklmi at yahoo.com


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1135a89b-16b2-489e-b114-45795a451161>