Re: Need testers for ALPHA RPi-5 fan control, GE NIC, WiFi drivers for FreeBSD-CURRENT
Mark Millard <[email protected]> Fri, 12 Jun 2026 09:23:57 -0700
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <[email protected]> |
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