Re: you`ll have to hack u-boot&kernel drivers Re: RPI5 16GB panic on boot

From: Ronald Klop <ronald-lists_at_klop.ws>
Date: Mon, 03 Feb 2025 11:20:23 UTC
Hi Klaus,

I was under the impression that the pre-16GB RPI5 were booting using ACPI device enumeration. (https://wiki.freebsd.org/arm/Raspberry%20Pi%205) That is why I hoped the 16GB version to work similarly.
I don't have a personal preference for one way or the other (ACPI vs DTB).

Is your work available in a public repository somewhere? So I could try and see if I can help somehow.

Regards,
Ronald.

 
Van: "Klaus Küchemann" <maciphone2@googlemail.com>
Datum: zondag, 2 februari 2025 18:06
Aan: Ronald Klop <ronald-lists@klop.ws>, freebsd-arm@freebsd.org
Onderwerp: you`ll have to hack u-boot&kernel drivers Re: RPI5 16GB panic on boot
> 
> 
> > Am 02.02.2025 um 10:56 schrieb Ronald Klop <ronald-lists@klop.ws>:
> >
> >
> > No valid device tree blob found!
> >
> 
> 
> For FreeBSD go the u-boot fdt-based way ! ( since all existing drivers rely on that)..
> A device tree blob( dtb) is a compiled binary which is read in by u-boot ,
> While a device tree source( dts) can be compiled into u-boot`kernel directly….
> 
> Some steps further here. I just show you the things I’ve already hacked ( in u-boot & fbsd-kernel),
> Not showing you the things which have to be future-hacked into the kernel:-),
>  it’ll be a massive hack because e.g because the RP1 chip has many things  hanging behind pcie,
> I have currently  pcie detected in boot but there`s something more to do/hack regarding DMA….. and so further and so on   :
> 
> …
>   4.05 dt-match: compatible: brcm,bcm2712 match: brcm,bcm2712….
> … 4.95 Loading 'bcm2712-rpi-cm5-cm5io.dtb' to 0x00000000 offset 0x100
>   5.06 Read bcm2712-rpi-cm5-cm5io.dtb bytes    80587 hnd 0x198b
> …   5.84 MESS:00:00:05.184071:0: Loaded overlay ‚dwc2‘…
>   5.04 Loading 'u-boot.bin' to 0x00000000 offset 0x200000,,
>   5.39 Read u-boot.bin bytes   694000 hnd 0x148d…
> ….
> —————————
> U-Boot 2025.01 (Jan 19 2025 - 06:10:39 +0100)
> 
> DRAM:  1020 MiB (effective 4 GiB)
> RPI: Board rev 0x18 outside known range
> RPI Unknown model (0xc04180)
> Core:  25 devices, 12 uclasses, devicetree: board
> MMC:   mmc@fff000: 0, mmc@1100000: 1
> Loading Environment from FAT... ** Bad device specification mmc 1 **
> In:    serial,usbkbd
> Out:   serial,vidconsole
> Err:   serial,vidconsole
> Net:   No ethernet found.
> 
> starting USB...
> Bus usb@480000: USB DWC2
> scanning bus usb@480000 for devices... 1 USB Device(s) found
>        scanning usb for storage devices... 0 Storage Device(s) found
> Hit any key to stop autoboot:  0  Cannot persist EFI variables without system partition
> ** Booting bootflow '<NULL>' with efi_mgr
> Booting: mmc 0
> 
> ———
> Consoles: EFI console  
>     Reading loader env vars from /efi/freebsd/loader.env
> Setting currdev to disk0p1:
> FreeBSD/arm64 EFI loader, Revision 3.0
> (Sat Feb  1 03:46:15 UTC 2025 root@fbsd5pro)
> 
>    Command line arguments: loader.efi
>    Image base: 0x3e54d000
>    EFI version: 2.100
>    EFI Firmware: Das U-Boot (rev 8229.256)
>    Console: efi,comconsole (0)
>    Load Path: /\EFI\BOOT\BOOTAA64.EFI
>    Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,0000000000000000)/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,6d00000004000000)/eMMC(0)/eMMC(0)/HD(1,0x01,0,0x800,0x19000)
>    BootCurrent: 0000
>    BootOrder: 0000[*]
>    BootInfo Path: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,0000000000000000)/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,6d00000004000000)/eMMC(0)/eMMC(0)
> Ignoring Boot0000: Only one DP found
> Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,0000000000000000)/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,6d00000004000000)/eMMC(0)/eMMC(0)/HD(1,0x01,0,0x800,0x19000)
> Setting currdev to disk0p1:
> Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,0000000000000000)/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,6d00000004000000)/eMMC(0)/eMMC(0)/HD(2,0x01,0,0x19800,0x9e6800)
> Setting currdev to disk0p2:
> Loading /boot/defaults/loader.conf
> Loading /boot/defaults/loader.conf
> Loading /boot/device.hints
> Loading /boot/loader.conf
> Loading /boot/loader.conf.local
> /
> 
> ————
> 
> Loading kernel…
> —
> 
> Booting [/boot/kernel/kernel]...               
> Using DTB provided by EFI at 0x3e6da000.
> Loading splash ok
> ---<<BOOT>>---
> GDB: no debug ports present
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance
> Copyright (c) 1992-2025 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 15.0-CURRENT #3: Sat Feb  1 16:02:48 UTC 2025
>     root@fbsd5pro:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
> FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
> WARNING: WITNESS option enabled, expect reduced performance.
> VT: init without driver.
> real memory  = 4290248704 (4091 MB)
> avail memory = 4152508416 (3960 MB)
> Starting CPU 1 (100)
> Starting CPU 2 (200)
> Starting CPU 3 (300)
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> random: unblocking device.
> random: entropy device external interface
> kbd0 at kbdmux0
> ofwbus0: <Open Firmware Device Tree>
> simplebus0: <Flattened device tree simple bus> on ofwbus0
> regfix0: <Fixed Regulator> on simplebus0
> regfix1: <Fixed Regulator> on simplebus0
> simplebus1: <Flattened device tree simple bus> on ofwbus0
> ofw_clkbus0: <OFW clocks bus> on ofwbus0
> 
> ———
> 
> simple_mfd0: <Simple MFD (Multi-Functions Device)> mem 0x7d542000-0x7d542eff on simplebus0
> bcm2835_firmware0: <BCM2835 Firmware> on simplebus0
> ofw_clkbus1: <OFW clocks bus> on bcm2835_firmware0
> —
> 
> psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
> smccc0: <ARM SMCCC v1.2> on psci0
> 
> ——
> gic0: <ARM Generic Interrupt Controller> mem 0x107fff9000-0x107fff9fff,0x107fffa000-0x107fffbfff,0x107fffc000-0x107fffdfff,0x107fffe000-0x107fffffff irq 86 on simplebus1
> gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 320
> —
> usbus1: 480Mbps High Speed USB v2.0
> ugen1.1: <DWCOTG OTG Root HUB> at usbus1
> uhub0 on usbus1
> uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
> bcm2835_cpufreq0: ARM 1500MHz, Core 500MHz, SDRAM 0MHz, Turbo OFF
> CPU  0: ARM Cortex-A76 r4p1 affinity:  0  0
>                    Cache Type = <IDC,64 byte CWG,64 byte ERG,64 byte D-cacheline,PIPT I-cache,64 byte I-cacheline>
>  Instruction Set Attributes 0 = <DP,RDM,Atomic,CRC32,SHA2,SHA1,AES+PMULL>
>  Instruction Set Attributes 1 = <RCPC-8.3,DCPoP>
>  Instruction Set Attributes 2 = <>
>          Processor Features 0 = <CSV3,CSV2,RAS,AdvSIMD+HP,FP+HP,EL3,EL2,EL1,EL0 32>
>          Processor Features 1 = <PSTATE.SSBS>
>          Processor Features 2 = <>
>       Memory Model Features 0 = <TGran4,TGran64,TGran16,SNSMem,BigEnd,16bit ASID,1TB PA>
>       Memory Model Features 1 = <XNX,PAN+ATS1E1,LO,HPD+TTPBHA,VH,16bit VMID,HAF+DS>
>       Memory Model Features 2 = <32bit CCIDX,48bit VA,IESB,UAO,CnP>
>       Memory Model Features 3 = <>
>       Memory Model Features 4 = <>
>              Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3p1,Debugv8p2>
>              Debug Features 1 = <>
>          Auxiliary Features 0 = <>
>          Auxiliary Features 1 = <>
> AArch32 Instruction Set Attributes 5 = <RDM,CRC32,SHA2,SHA1,AES+VMULL,SEVL>
> AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD>
> AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP Arith,SIMDHP Arith,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
> CPU  1: ARM Cortex-A76 r4p1 affinity:  1  0
> CPU  2: ARM Cortex-A76 r4p1 affinity:  2  0
> CPU  3: ARM Cortex-A76 r4p1 affinity:  3  0
> gic0: using for IPIs
> Release APs...Trying to mount root from ufs:/dev/ufs/rootfs [rw]..
> ---
>  
> 
> 
>