Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for the Raspberry Pi 5 #223

Open
3 of 7 tasks
stapelberg opened this issue Sep 28, 2023 · 7 comments
Open
3 of 7 tasks

Add support for the Raspberry Pi 5 #223

stapelberg opened this issue Sep 28, 2023 · 7 comments
Assignees

Comments

@stapelberg
Copy link
Contributor

stapelberg commented Sep 28, 2023

This issue tracks the progress. Currently, the Pi 5 is not in stock.

Here’s some background info: https://www.jeffgeerling.com/blog/2023/answering-some-questions-about-raspberry-pi-5

First draft of a checklist:

  • serial port working
  • kernel booting
  • gokrazy init running
  • fan control working
    • fan always runs, not sure why. tried dtparam=cooling_fan=off in config.txt, and also =on with PWM fan parameters, but no change in behavior with either of those attempts
  • poweroff / reboot working
    • HDMI signal is lost on reboot
  • encrypted WiFi working
  • crypto acceleration working
@stapelberg stapelberg self-assigned this Sep 28, 2023
@tobru
Copy link

tobru commented Nov 20, 2023

I'm happy to help testing on my freshly arrived Pi 5 once you're starting to work on it.

@stapelberg
Copy link
Contributor Author

My first Pi 5 arrived 🎉

When I just try to boot a current gokrazy installation, I get the following error message by the bootloader:

IMG_3115

When I set os_check=0, I don’t get any HDMI output.

I would have checked the serial port, but I don’t get any output on the GPIO header. I ordered a Raspberry Pi Debug Probe to use the JST port.

@damdo
Copy link
Collaborator

damdo commented Nov 28, 2023

Exciting! Happy hacking, let us know how it goes :)

@stapelberg
Copy link
Contributor Author

The Debug Probe arrived, so now we can see the serial output of the entire boot process.

For the attempt with os_check=0 in config.txt, output just stops before the Linux kernel ever prints a line.

I then tried dropping https://github.com/raspberrypi/firmware/blob/master/boot/bcm2712-rpi-5-b.dtb into the kernel directory.

This made it go a whole lot further, in that the bootloader recognizes the installation as compatible, we see Linux kernel output, but then the boot hangs when it tries to find the root device:

full serial output

RPi: BOOTSYS release VERSION:30de0ba5 DATE: 2023/10/30 TIME: 16:45:10
BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1698684310 serial d69878eb boardrev c04170 stc 3031485
AON_RESET: 00000003 PM_RSTS 00001000
RP1_BOOT chip ID: 0x20001927
PM_RSTS: 0x00001000
part 00000000 reset_info 00000000
PMIC reset-event 00000000 rtc 00000002 alarm 00000000 enabled 0
uSD voltage 3.3V
Initialising SDRAM 'Samsung' 16Gb x2 total-size: 32 Gbit 4267
DDR 4267 1 0 32 152
RP1_BOOT chip ID: 0x20001927

RP1_BOOT chip ID: 0x20001927
RP1_BOOT: fw size 25968
PCI2 init
PCI2 reset
PCIe scan 00001de4:00000001
RP1_CHIP_INFO 20001927

RPi: BOOTLOADER release VERSION:30de0ba5 DATE: 2023/10/30 TIME: 16:45:10
BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1698684310 serial d69878eb boardrev c04170 stc 5918974
AON_RESET: 00000003 PM_RSTS 00001000
usb_pd_init status 3
USB_PD CONFIG 0 41
Boot mode: SD (01) order f4
SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
OCR c0ff8000 [174]
CID: 000353445343313647801cd98aba0143
CSD: 400e00325b59000076b27f800a404000
SD: bus-width: 4 spec: 2 SCR: 0x02358443 0x00000000
SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ div: 4 (2) status: 0x1fff0000 delay: 2
MBR: 0x00002000,  204800 type: 0x0c
MBR: 0x00000001,    8191 type: 0xee
MBR: 0x00000000,       0 type: 0x00
MBR: 0x00000000,       0 type: 0x00
USB-PD: src-cap PDO object1 0x0a0191f4
Current 5000 mA
Voltage 5000 mV
USB-PD: src-cap PDO object2 0x0002d12c
Current 3000 mA
Voltage 9000 mV
USB-PD: src-cap PDO object3 0x0003c0e1
Current 2250 mA
Voltage 12000 mV
USB-PD: src-cap PDO object4 0x0004b0b4
Current 1800 mA
Voltage 15000 mV
Trying partition: 0
type: 16 lba: 8192 'gokrazy!' '            ' clusters 51161 (4)
rsc 4 fat-sectors 145 root dir cluster 1 sectors 5 entries 80
FAT16 clusters 51161
[sdcard] autoboot.txt not found
Trying partition: 0
type: 16 lba: 8192 'gokrazy!' '            ' clusters 51161 (4)
rsc 4 fat-sectors 145 root dir cluster 1 sectors 5 entries 80
FAT16 clusters 51161
Read config.txt bytes      103 hnd 0x8fc4
SIG pieeprom.sig a4b5a34e264907f3eb2d7156bdfc93c9db7d7d9388f5055a0021b808b4c1960b 0
EEPROM image size 524288 expected 2097152. Skipping update.
usb_max_current_enable default 0 max-current 5000
Read bcm2712-rpi-5-b.dtb bytes    75197 hnd 0x63ce
dt-match: compatible: raspberrypi,5-model-b match: brcm,bcm2712
dt-match: compatible: brcm,bcm2712 match: brcm,bcm2712

NOTICE:  BL31: v2.6(release):v2.6-239-g2a9ede0bd
NOTICE:  BL31: Built : 14:26:57, Jun 22 2023
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x414fd0b1]
[    0.000000] Linux version 6.6.2 (gokrazy@docker) (aarch64-linux-gnu-gcc (Debian 8.3.0-2) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #1 SMP PREEMPT Wed Mar  1 20:57:29 UTC 2017
[    0.000000] KASLR enabled
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi 5 Model B Rev 1.0
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000003600000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x0000000003600000..0x00000000075fffff (65536 KiB) map reusable linux,cma
[    0.000000] OF: reserved mem: 0x0000000000000000..0x000000000007ffff (512 KiB) nomap non-reusable atf@0
[    0.000000] OF: reserved mem: 0x000000003fd16160..0x000000003fd16196 (0 KiB) nomap non-reusable nvram@0
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xff7af9c0-0xff7b1fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000000007ffff]
[    0.000000]   node   0: [mem 0x0000000000080000-0x000000003f7fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000] On node 0, zone DMA: 2048 pages in unavailable ranges
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 22 pages/cpu s51304 r8192 d30616 u90112
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Virtualization Host Extensions
[    0.000000] CPU features: detected: Hardware dirty bit management
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 smsc95xx.macaddr=D8:3A:DD:BC:E5:C3 vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000  console=tty1 console=ttyAMA10,115200 root=PARTUUID=60c24cc1-f3f9-427a-8199-2e18c40c0001/PARTNROFF=1 init=/gokrazy/init rootwait panic=10 oops=panic
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Fallback order for Node 0: 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1030144
[    0.000000] Policy zone: DMA
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x00000000f7000000-0x00000000fb000000] (64MB)
[    0.000000] Memory: 3921488K/4186112K available (21504K kernel code, 4952K rwdata, 13636K rodata, 10752K init, 629K bss, 199088K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000000] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000492] Console: colour dummy device 80x25
[    0.000496] printk: console [tty1] enabled
[    0.000682] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.000690] pid_max: default: 32768 minimum: 301
[    0.000721] LSM: initializing lsm=capability,landlock,integrity
[    0.000736] landlock: Up and running.
[    0.000785] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000815] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.001560] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    0.001595] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    0.001668] rcu: Hierarchical SRCU implementation.
[    0.001672] rcu: 	Max phase no-delay instances is 1000.
[    0.003135] EFI services will not be available.
[    0.003208] smp: Bringing up secondary CPUs ...
[    0.003372] Detected PIPT I-cache on CPU1
[    0.003410] CPU1: Booted secondary processor 0x0000000100 [0x414fd0b1]
[    0.003581] Detected PIPT I-cache on CPU2
[    0.003614] CPU2: Booted secondary processor 0x0000000200 [0x414fd0b1]
[    0.003776] Detected PIPT I-cache on CPU3
[    0.003805] CPU3: Booted secondary processor 0x0000000300 [0x414fd0b1]
[    0.003834] smp: Brought up 1 node, 4 CPUs
[    0.003852] SMP: Total of 4 processors activated.
[    0.003857] CPU features: detected: 32-bit EL0 Support
[    0.003860] CPU features: detected: Data cache clean to the PoU not required for I/D coherence
[    0.003865] CPU features: detected: Common not Private translations
[    0.003868] CPU features: detected: CRC32 instructions
[    0.003873] CPU features: detected: RCpc load-acquire (LDAPR)
[    0.003876] CPU features: detected: LSE atomic instructions
[    0.003879] CPU features: detected: Privileged Access Never
[    0.003883] CPU features: detected: RAS Extension Support
[    0.003887] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[    0.003922] CPU: All CPU(s) started at EL2
[    0.003925] alternatives: applying system-wide alternatives
[    0.006033] devtmpfs: initialized
[    0.009599] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.009611] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.010122] pinctrl core: initialized pinctrl subsystem
[    0.010887] DMI not present or invalid.
[    0.011076] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.011627] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.011696] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.011784] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.011806] audit: initializing netlink subsys (disabled)
[    0.011871] audit: type=2000 audit(0.008:1): state=initialized audit_enabled=0 res=1
[    0.012328] thermal_sys: Registered thermal governor 'step_wise'
[    0.012331] thermal_sys: Registered thermal governor 'power_allocator'
[    0.012352] cpuidle: using governor menu
[    0.012560] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.012593] ASID allocator initialised with 32768 entries
[    0.013276] Serial: AMBA PL011 UART driver
[    0.014500] 107d001000.serial: ttyAMA10 at MMIO 0x107d001000 (irq = 14, base_baud = 0) is a PL011 rev2
[    0.014515] printk: console [ttyAMA10] enabled
[    0.749124] Modules: 2G module region forced by RANDOMIZE_MODULE_REGION_FULL
[    0.756208] Modules: 0 pages in range for non-PLT usage
[    0.756210] Modules: 511376 pages in range for PLT usage
[    0.761653] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.773800] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.780091] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.786905] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.793196] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.800010] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.806300] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.813114] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.819815] ACPI: Interpreter disabled.
[    0.824451] iommu: Default domain type: Translated
[    0.829262] iommu: DMA domain TLB invalidation policy: strict mode
[    0.835555] SCSI subsystem initialized
[    0.839401] usbcore: registered new interface driver usbfs
[    0.844917] usbcore: registered new interface driver hub
[    0.850255] usbcore: registered new device driver usb
[    0.855368] usb_phy_generic phy: dummy supplies not allowed for exclusive requests
[    0.863254] mc: Linux media interface: v0.10
[    0.867548] videodev: Linux video capture interface: v2.00
[    0.873065] pps_core: LinuxPPS API ver. 1 registered
[    0.878046] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.887222] PTP clock support registered
[    0.891194] EDAC MC: Ver: 3.0.0
[    0.894568] scmi_core: SCMI protocol bus registered
[    0.899697] FPGA manager framework
[    0.903129] Advanced Linux Sound Architecture Driver Initialized.
[    0.909586] vgaarb: loaded
[    0.912600] clocksource: Switched to clocksource arch_sys_counter
[    0.918800] VFS: Disk quotas dquot_6.6.0
[    0.922747] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.929703] pnp: PnP ACPI: disabled
[    0.934869] NET: Registered PF_INET protocol family
[    0.939855] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.948508] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.957103] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.964883] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.972972] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.981076] TCP: Hash tables configured (established 32768 bind 32768)
[    0.987683] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.994463] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.001714] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.007522] RPC: Registered named UNIX socket transport module.
[    1.013467] RPC: Registered udp transport module.
[    1.018187] RPC: Registered tcp transport module.
[    1.022906] RPC: Registered tcp-with-tls transport module.
[    1.028411] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.035232] PCI: CLS 0 bytes, default 64
[    1.039468] kvm [1]: IPA Size Limit: 40 bits
[    1.043788] kvm [1]: vgic interrupt IRQ9
[    1.047738] kvm [1]: VHE mode initialized successfully
[    1.053266] Initialise system trusted keyrings
[    1.057771] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[    1.064346] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.070270] NFS: Registering the id_resolver key type
[    1.075346] Key type id_resolver registered
[    1.079542] Key type id_legacy registered
[    1.083570] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.090298] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.097759] fuse: init (API version 7.39)
[    1.101815] 9p: Installing v9fs 9p2000 file system support
[    1.116629] Key type asymmetric registered
[    1.120739] Asymmetric key parser 'x509' registered
[    1.125653] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    1.133081] io scheduler mq-deadline registered
[    1.137627] io scheduler kyber registered
[    1.141660] io scheduler bfq registered
[    1.145761] irq_brcmstb_l2: registered L2 intc (/soc/intc@7d503000, parent irq: 15)
[    1.153511] irq_brcmstb_l2: registered L2 intc (/soc/intc@7d508380, parent irq: 16)
[    1.161241] irq_brcmstb_l2: registered L2 intc (/soc/intc@7d508400, parent irq: 17)
[    1.168978] irq_brcmstb_l2: registered L2 intc (/soc/intc@7d517b00, parent irq: 18)
[    1.179701] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    1.188676] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    1.197672] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    1.206647] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    1.216960] IPMI message handler: version 39.2
[    1.221435] ipmi device interface
[    1.224797] ipmi_ssif: IPMI SSIF Interface driver
[    1.229611] EINJ: ACPI disabled.
[    1.241317] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    1.248243] Serial: AMBA driver
[    1.251457] SuperH (H)SCI(F) driver initialized
[    1.256175] msm_serial: driver initialized
[    1.260557] STM32 USART driver initialized
[    1.264968] iproc-rng200 107d208000.rng: hwrng registered
[    1.273851] loop: module loaded
[    1.277388] megasas: 07.725.01.00-rc1
[    1.281731] SPI driver spidev has no spi_device_id for brcm,bcm2835-spi
[    1.289185] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[    1.297051] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[    1.308084] tun: Universal TUN/TAP device driver, 1.6
[    1.313538] thunder_xcv, ver 1.0
[    1.316786] thunder_bgx, ver 1.0
[    1.320026] nicpf, ver 1.0
[    1.322743] nicvf, ver 1.0
[    1.325479] tulip: tulip: unknown CPU architecture, using default csr0
[    1.332453] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    1.339707] hns3: Copyright (c) 2017 Huawei Corporation.
[    1.345050] hclge is initializing
[    1.348416] e100: Intel(R) PRO/100 Network Driver
[    1.353136] e100: Copyright(c) 1999-2006 Intel Corporation
[    1.358647] e1000: Intel(R) PRO/1000 Network Driver
[    1.363541] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    1.369316] e1000e: Intel(R) PRO/1000 Network Driver
[    1.374297] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.380246] igb: Intel(R) Gigabit Ethernet Network Driver
[    1.385664] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.391262] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    1.397553] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.403600] sky2: driver version 1.30
[    1.408090] usbcore: registered new device driver r8152-cfgselector
[    1.414389] usbcore: registered new interface driver r8152
[    1.419901] usbcore: registered new interface driver lan78xx
[    1.425587] usbcore: registered new interface driver asix
[    1.431013] usbcore: registered new interface driver ax88179_178a
[    1.437136] usbcore: registered new interface driver cdc_ether
[    1.442996] usbcore: registered new interface driver smsc95xx
[    1.448769] usbcore: registered new interface driver net1080
[    1.454456] usbcore: registered new interface driver cdc_subset
[    1.460403] usbcore: registered new interface driver zaurus
[    1.466002] usbcore: registered new interface driver cdc_ncm
[    1.471690] usbcore: registered new interface driver lg-vl600
[    1.477464] usbcore: registered new interface driver r8153_ecm
[    1.483397] VFIO - User Level meta-driver version: 0.3
[    1.489495] usbcore: registered new interface driver cdc_acm
[    1.495178] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.503223] usbcore: registered new interface driver usblp
[    1.508735] usbcore: registered new interface driver usb-storage
[    1.514786] usbcore: registered new interface driver cp210x
[    1.520386] usbserial: USB Serial support registered for cp210x
[    1.526333] usbcore: registered new interface driver ftdi_sio
[    1.532105] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.540538] i2c_dev: i2c /dev entries driver
[    1.547893] sdhci: Secure Digital Host Controller Interface driver
[    1.554104] sdhci: Copyright(c) Pierre Ossman
[    1.558734] Synopsys Designware Multimedia Card Interface Driver
[    1.565092] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.571492] ledtrig-cpu: registered to indicate activity on CPUs
[    1.577779] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.584585] usbcore: registered new interface driver usbhid
[    1.590180] usbhid: USB HID core driver
[    1.594355] bcm2835-mbox 107c013880.mailbox: mailbox enabled
[    1.601132] hw perfevents: enabled with armv8_cortex_a76 PMU driver, 7 counters available
[    1.611608] Initializing XFRM netlink socket
[    1.615919] NET: Registered PF_INET6 protocol family
[    1.621132] Segment Routing with IPv6
[    1.624823] In-situ OAM (IOAM) with IPv6
[    1.628795] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.634903] NET: Registered PF_PACKET protocol family
[    1.640011] 9pnet: Installing 9P2000 support
[    1.644309] Key type dns_resolver registered
[    1.651904] registered taskstats version 1
[    1.656173] Loading compiled-in X.509 certificates
[    1.668206] raspberrypi-firmware soc:firmware: Attached to firmware from 2023-10-30T16:45:10
[    1.703084] raspberrypi-clk soc:firmware:clocks: Unknown clock id: 16 (max: 15)
[    1.710435] raspberrypi-clk: probe of soc:firmware:clocks failed with error -22
[    1.723584] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.732046] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.737762] clk: Disabling unused clocks
[    1.741720] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.750376] cfg80211: failed to load regulatory.db
[    1.750385] ALSA device list:
[    1.758171]   No soundcards found.
[    1.761634] uart-pl011 107d001000.serial: no DMA platform data
[    1.767528] Waiting for root device PARTUUID=60c24cc1-f3f9-427a-8199-2e18c40c0001/PARTNROFF=1...
[   11.867307] platform cam1_reg: deferred probe pending
[   11.872388] platform 107d50c000.serial: deferred probe pending
[   11.878246] platform 107d004000.spi: deferred probe pending
[   11.883840] platform leds: deferred probe pending
[   11.888560] platform wl_on_reg: deferred probe pending
[   11.893717] platform cam0_reg: deferred probe pending
[   11.898788] platform pwr_button: deferred probe pending
[   32.088607] vcc-sd: disabling

So, my guess is that we need to sort out the following issues:

  • upstream the device tree changes so that Linux builds a (working) bcm2712-rpi-5-b.dtb
  • make sure the mmc driver works.
    • The Raspberry Pi kernel seems to use bcm2712-sdhci, but that’s probably not in the upstream kernel yet.
    • Maybe the driver currently in upstream Linux works as well, or maybe the other one needs upstreaming.
  • make sure the ethernet driver works
  • make sure the USB driver works

@stapelberg
Copy link
Contributor Author

stapelberg commented Dec 6, 2023

Looks like https://forums.raspberrypi.com/viewtopic.php?t=360653 is the most recent post regarding Pi 5 upstream work, and there is a patch series to try out, but ethernet and USB don’t work yet apparently.

Seems like we need to be patient for a few more weeks at least…

@stapelberg
Copy link
Contributor Author

Status update: 6by9, the person working on upstream support for the Pi 5, reports that it will take quite a long time because of a DMA-related long-standing misunderstanding in the kernel that’s hard to fix: https://forums.raspberrypi.com/viewtopic.php?p=2202581&sid=d2fbe43c5b4e9f133bf7842210a19d7d#p2202581

@damdo
Copy link
Collaborator

damdo commented Mar 13, 2024

Thanks for the update @stapelberg
Hopefully they'll be able to figure it out 🤞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants