Re: When will FreeBSD support RPI5?

From: Doug Rabson <dfr_at_rabson.org>
Date: Tue, 16 Jan 2024 16:36:40 UTC
On Tue, 16 Jan 2024 at 16:32, Emmanuel Vadot <manu@bidouilliste.com> wrote:

> On Tue, 16 Jan 2024 14:57:40 +0000
> Doug Rabson <dfr@rabson.org> wrote:
>
> > On Sat, 13 Jan 2024 at 19:05, Mike Karels <mike@karels.net> wrote:
> >
> > > On 13 Jan 2024, at 12:32, Mark Millard 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.
> > >
> > > The cadence/cgem driver uses FDT.  I haven't looked at details yet.
> The
> > > addition
> > > might be as simple as adding a compat string.  Hopefully it doesn't
> > > require major
> > > surgery.  I just ordered an RPi 5 (8 GB); it will take a while to be
> > > delivered.
> > >
> >
> > The existing driver has the correct compat string but we don't get that
> far
> > since the rp1 node doesn't get probed and attached. This node is nested
> > under pcie@120000 and the whole subtree never gets explored.
> Interestingly,
> > if I hack the 2711 driver a little (based on reading Linux sources), I
> can
> > get that to attach and the rp1 southbridge is visible on the PCI bus with
> > vendor id 0x1de4, device id 0x0001. I made a stub driver for it but that
> > isn't particularly helpful since we need an FDT device to get simplebus
> to
> > attach and discover all the rp1 sub-devices.
>
>  Why is there FDT children under a pci device ???
>

That's a very good question and I don't have an answer. This is just how
the DTB is structured:

                pcie@120000 {

                        compatible = "brcm,bcm2712-pcie";
                        ...
                        rp1 {

                                compatible = "simple-bus";