Re: Raspberry Pi POE+ hat overlay

Emmanuel Vadot <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Fri, 12 May 2023 17:18:53 +0100
Doug Rabson <[email protected]> wrote:

> Yes - I copied it from a random Linux distro I had lying around:
> 
> $ ls /boot/msdos/overlays
> disable-bt.dtbo   mmc.dtbo          pwm.dtbo          rpi-poe-plus.dtbo
> 
> I'm wondering if it's something to so with the compatible settings on the
> overlay. Disassembling it with dtc looks like this:
> 
> /dts-v1/;
> 
> /  {
> 
>         compatible = "brcm,bcm2835";

 No idea how the rpi firmware checks things but this seems to be for
the first RPI and if the firmware is doing the right thing this will
not be applied.
 You can check in u-boot if the DTB is correctly patched btw using the
'fdt' command.

>         fragment@0 {
> 
>                 target-path = "/";
>                 __overlay__ {
> 
>                         pwm-fan {
> 
>                                 compatible = "pwm-fan";
>                                 cooling-levels = <0x0 0x20 0x40 0x80 0xff>;
>                                 #cooling-cells = <0x2>;
>                                 pwms = <0x1 0x0 0x13880>;
>                                 phandle = <0x3>;
>                         };
>                 };
>         };
> ...
> 
> On Fri, 12 May 2023 at 17:09, Emmanuel Vadot <[email protected]> wrote:
> 
> > On Fri, 12 May 2023 16:43:55 +0100
> > Doug Rabson <[email protected]> wrote:
> >
> > > I have a pi4 with the official POE+ hat which I want to run FreeBSD on.
> > One
> > > thing I noticed is that the fan doesn't run in FreeBSD so I decided to
> > try
> > > and write a little driver for it. First step seems to be to load the
> > > corresponding devicetree overlay by adding something like this to
> > > /boot/msdos/config.txt:
> > >
> > > dtoverlay=rpi-poe-plus
> > > dtparam=poe_fan_temp0=45000,dtparam=poe_fan_temp0_hyst=3000
> > > dtparam=poe_fan_temp1=50000,dtparam=poe_fan_temp1_hyst=3000
> > > dtparam=poe_fan_temp2=62000,dtparam=poe_fan_temp2_hyst=4000
> > > dtparam=poe_fan_temp3=70000,dtparam=poe_fan_temp3_hyst=5000
> > >
> > > Unfortunately this is where I'm stuck - the overlay is not present in the
> > > final DTB given to the kernel so there isn't anything to hook a driver
> > to.
> > > Are dtoverlays supposed to work on FreeBSD?
> >
> > DT Overlays works fine, the process of them on RPI is:
> >
> >  - Firmware loads the DTB
> >  - Parse the config.txt and load/apply the overlays
> >  - The DTB is passed to u-boot which in turn pass it to loader/kernel
> >
> >  Stupid question but did you copy the rpi-poe-plus.dtbo on the fat
> > partition ?
> >
> > --
> > Emmanuel Vadot <[email protected]> <[email protected]>
> >


-- 
Emmanuel Vadot <[email protected]> <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.