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

Klaus Cucinauomo <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Hi Ronald,

even u-boot is actively working on ACPI-integration and of course

on bcm2712-support.

So u-boot is not a dead project like that WindowsOnArm and I think

tracking the upstreams(u-boot,Linux& RPILinux/Firmwares) is the way to go if don`t want to wait „100 years“ again to get a useful RPI-support.

But even u-boot`s latest integrations of e.g. reasonable compat-strings are quite

new( 5 days or so).. so what we can say for sure:

Yes, bootlaoder-support will come but if we do not want to stay months or even years behind , there`s something to do, specially(patched) bootloader-integration/updates

and the corresponding driver-patches, mainly pcie&genet..

As the logs I`ve sent say, I`m currently trying to mount root :-) ,

after reaching that state I can make my currently private repos public for collaboration,

thanks for your interest in helping FreeBSD with RPI-support.

As a starting point I would recommend trackingv the upstreams, understanding

the u-boot file-structure and reading(really hard to understand;-) e.g. the pcie drivers.

thanks

Regards

Klaus

Am 03.02.2025 um 12:20 schrieb Ronald Klop <[email protected]>:

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" <[email protected]>

Datum: zondag, 2 februari 2025 18:06

Aan: Ronald Klop <[email protected]>, [email protected]

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 <[email protected]>:

>

>

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

---

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