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:20:12 -0700
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <[email protected]> |
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.
--
===
Mark Millard
marklmi at yahoo.com