Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jun 2026 09:20:12 -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:  <cdd08f91-9510-4390-81e5-dd489c765b7b@yahoo.com>
In-Reply-To: <2427b72e-4540-4c50-924f-670117ce3c2c@yahoo.com>
References:  <9YCJYFriU7X2_37aSWQTo5jJSmaf46t827hI4KjmCLaCFNGbgMj4MxRzc4-sUSig2RolfvNOWikCxYuWL3YJfqMgw-5d4FDjG8xtnRGJyMY=@pm.me> <2427b72e-4540-4c50-924f-670117ce3c2c@yahoo.com>

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

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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cdd08f91-9510-4390-81e5-dd489c765b7b>