Re: When will FreeBSD support RPI5?

From: Warner Losh <imp_at_bsdimp.com>
Date: Sun, 14 Jan 2024 18:37:05 UTC
On Sun, Jan 14, 2024 at 8:12 AM Emmanuel Vadot <manu@bidouilliste.com>
wrote:

> On Sun, 14 Jan 2024 13:52:51 +0000
> Doug Rabson <dfr@rabson.org> wrote:
>
> > On Sat, 13 Jan 2024 at 18:32, Mark Millard <marklmi@yahoo.com> wrote:
> >
> > > On Jan 13, 2024, at 07:38, Doug Rabson <dfr@rabson.org> wrote:
> > >
> > > > Getting back to the RPI 5, with a tweak to
> > > arm/broadcom/bcm2835bcm2835_vcbus.c to treat the memory config the
> same as
> > > RPI 4 and to dev/sdhci/sdhci_fdt.c to treat the RPI 5 sdhci
> controllers as
> > > generic, I can boot to multiuser mode using the EDK2 firmware from
> > > https://github.com/worproject/rpi5-uefi with ACPI/Device Tree mode
> set to
> > > Both.
> > >
> > > What does FreeBSD do with "Both"? Does it actually use some ACPI
> > > and some Device Tree? Or does it just use ACPI? Does your
> > > combination do anything different than just using ACPI?
> > >
> > > > This does not have working PCIe or ethernet yet - I think ethernet
> ought
> > > to work since we seem to have a matching driver in the tree in
> dev/cadence.
> > >
> > > Sounds like the same status as booting just ACPI with no such
> > > adjustments too bcm2835bcm2835_vcbus.c or sdhci_fdt.c ?
> > >
> > > I think Mike Karels plans on investigating getting Ethernet
> > > going based on cgem . I've no clue if this is ACPI, DeviceTree,
> > > or both.
> > >
> > > My usage has been pure ACPI, no software adjustments specific
> > > to getting the RPi5 operational. Use of a USB3 Ethernet dongle.
> > >
> >
> > As far as I can tell, 'Both' works almost exactly the same as
> 'Devicetree'
> > - I don't think the acpi device is attached to nexus at all.
>
>  'Both' for EDK2 mean that dt and acpi table are exposed, and by
> default on FreeBSD we use dt and only fallback to acpi if dt wasn't
> found.
>

I think we should check dt and if it has a simplebus use it, otherwise
fallback to acpi if dt wasn't there or if it didn't have a simple bus. That
would fix issues I have with LinuxBoot where some data still lingers
in dt, but no devices are published there anymore. I work around this right
now by preferring ACPI manually...

Warner