Re: When will FreeBSD support RPI5?

Doug Rabson <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <CACA0VUhvy=gyWEwERn2-3a2DFqgXUt27BuYZAbehwJh8va533w@mail.gmail.com>
On Sat, 13 Jan 2024 at 19:22, Jesper Schmitz Mouridsen <[email protected]>
wrote:

>
> On 13.01.2024 19.32, Mark Millard wrote:
> > On Jan 13, 2024, at 07:38, Doug Rabson <[email protected]> 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?
>
> How does the sd card show up? BTW i did put some stuff here [1]
>
> I could not get bcm_dma to work anyone planning on getting that to work?
> it should be similar to 2711 documented in [2]
>

I haven't tried to do anything with bcm_dma - this is my diff (against 14.0
but I'll probably move over to 15-current soon). I used the generic SDHCI
driver in sys/dev/sdhci and it seems to work very well with the RPI 5:

diff --git a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c
b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c
index 88b54467e0c8..d996831816a6 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c
@@ -174,6 +174,11 @@ static struct bcm283x_memory_soc_cfg {
                .soc_compat = "brcm,bcm2838",
                .busdma_lowaddr = BCM2838_PERIPH_MAXADDR,
        },
+       {
+               .memmap = bcm2838_memmap,
+               .soc_compat = "brcm,bcm2712",
+               .busdma_lowaddr = BCM2838_PERIPH_MAXADDR,
+       },
 };

 static struct bcm283x_memory_soc_cfg *booted_soc_memcfg;
diff --git a/sys/dev/sdhci/sdhci_fdt.c b/sys/dev/sdhci/sdhci_fdt.c
index 4a355d6514ad..8f2ccfc98859 100644
--- a/sys/dev/sdhci/sdhci_fdt.c
+++ b/sys/dev/sdhci/sdhci_fdt.c
@@ -124,6 +124,7 @@ static struct ofw_compat_data compat_data[] = {
        { "xlnx,zy7_sdhci",             SDHCI_FDT_XLNX_ZY7 },
        { "rockchip,rk3568-dwcmshc",    SDHCI_FDT_RK3568 },
        { "xlnx,zynqmp-8.9a",           SDHCI_FDT_XLNX_ZMP },
+       { "brcm,bcm2712-sdhci",         SDHCI_FDT_GENERIC },
        { NULL, 0 }
 };



>
>
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.