[BPI-R64] Imagebuilder R64 ArchlinuxArm, linux-rolling-stable

Don’t know which PCIe slot it is in…

There is a DTS patch that enables sata. Remove the patch and reinstall kernel

The slot is PCIe2.0 CN25…Thought that this slot is separated from SATA?

I just reinstalled everything from scratch (without commenting your repo and without the hostapd/nftables packages) incl. reformatting (-SD) and reexecuted according your proposals up till reinstalling the ATF, reinstalling the Linux Kernel and installing the old ATF (pacman -Ud …), so up to your post: [BPI-R64] Image builder Arch Linux v2 with image ready for download. Now it seems to run stable up until now with the newest kernel 5.19.3.

Indeed, I still need to check the new atf version…

CN25 is indeed not shared with SATA.

The services that are enabled are exactly the same as the old script. Anyway I’ll add more info in the readme about additional hardware and dts. When the card is in place, which hardware will be wlan0 and which wlan1? Maybe it needs the kernel consistent naming of wlp1s0 etc. wlan naming scheme is not consistant. Only the internal wifi should be used by hostapd by default. The external wifi of the card should not be used.

There is a setting in the script to setup as access point. It needs to be in the same local network, first 3 numbers of ip the same.

You could have only edited pacman.conf and run Pacman -Syu, no need for entire new build.

Anyway thanks for the feedback

About the following error in the new ATF:

WARNING: Image id=5 size out of bounds

New version available, but sadly no v2.7. see below.

Updated to v1.1. Sadly it does need some manual help upgrading from 1.0. I do not want to make a habit of that, but this was needed.

The linux-bpir64-git package has been totally cleaned up. Nothing in the package, except the stable linux kernel. It wil therefore be very hard to break with updates.

All scripting done to install boot is now in the bpir64-atf-git package only. It will be disabled for automatic upgrades, only update manually, to make sure the system doesn’t boot anymore.

The boot now also uses devicetree overlays, so it would be easily possible to add U-Boot in the bootchain, if one would choose to.

With all these changes, you could just make a new SD image from scratch. If you want to update from v1.0 do the following:

Copy from newest buildR64arch from rootfs/boot/dtbos to /boot/dtbos on bpir64. Then run on the bpir64, or via chroot:

sudo rm -rf /boot/dtbs /boot/dtb-patch
sudo pacman -Scc
Enter Y and Y
sudo pacman -Sy linux-bpir64-git bpir64-atf-git

Edit /etc/pacman.conf: as this is done by the latest version of the script.

IgnorePkg = bpir64-atf-git

Now the linux package is cleaned up and furter updates of linux should be without any problems.

ATF has stayed with v2.4. I tried v2.7 and it boot ok. However, it does no REboot. It just gets stuck and does not even show the first hex numbers.

@ericwoud Thanks again for your support. Sorry for the delayed response… We have done everything as you described and it worked, i.e. the kernel gets now updates within the usual pacman update process.

Just one more question: Do you think the ATF update to Vs 2.7 is absolutely necessary? Are these safety-critical changes? Or what changes does an ATF firmware update generally bring with it?

BTW: do you have any idea how we can use the RGB LEDs for example to indicate the router state or some other information?

Thank you in advance for your reply.

Afaik you can define a function in dts similar to this

There are many functions and imho some are picked up in userspace to drive the led

For LEDs just use /sys/class/leds as for example here https://raspberrypi.stackexchange.com/a/1504 Then you can control from a bash script. Depends on what you want.

ATF 2.4 is just fine, but it would be nice to keep ATF up to date.

Tanks for the reply. As discussed here, everything works as proposed in the comment from Eric with the green LED. However, the red LED can’t be controlled. It’s always switched on. For the blue LED, we tried to add a dts-overlay as proposed by Frank. The overlay can be compiled and the and linked without errors. The following links are created:

lrwxrwxrwx 1 root root 0 Aug 10 01:29 bpi-r64:pio:green -> …/…/devices/platform/leds/leds/bpi-r64:pio:green

lrwxrwxrwx 1 root root 0 Aug 10 01:29 bpi-r64:pio:red -> …/…/devices/platform/leds/leds/bpi-r64:pio:red

lrwxrwxrwx 1 root root 0 Sep 24 16:07 mt76-phy0 -> …/…/devices/platform/1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/leds/mt76-phy0

lrwxrwxrwx 1 root root 0 Sep 24 16:07 mt76-phy1 -> …/…/devices/platform/18000000.wmac/leds/mt76-phy1

However the activation of the blue LED with changing the values of brightness does does not work.

leds-blue.dts file in /boot/dtbos/
/dts-v1/;
/plugin/;
/ {
model = "Bananapi BPI-R64";
compatible = "bananapi,bpi-r64", "mediatek,mt7622";

leds {
    compatible = "gpio-leds";

    blue {
        label = "bpi-r64:pio:blue";
        color = <3>;
        gpios = <&pio 85 1>;
        default-state = "keep";
    };
};
};

I see no bpi-r64:pio:blue in your posted links and also no function in dts. Check if gpio number is right.

Do not know why mt76-phyX should be telated…these are from mt76 wifi driver

I assume you run ‘bpir64-writefip’ after you created the dts? This creates the dtbo and adds it to the dtb and writes it to the fip partition.

Thank you very much for your feedback. Unfortunately, we made a mistake with the mt76-phyX. The device was already in the LED folder before the dts overlay… As Frank mentioned it has nothing to do with the blue LED. For the GPIO, we followed Jasmin’s post post. It seems to have worked for Frank?

OUTPUT of bpir64-writefip:

BOOTARGS = root=PARTLABEL=bpir64-sdmmc-root earlycon=uart8250,mmio32,0x11002000 swiotlb=512 console=ttyS0,115200 rw rootwait audit=0
'/boot/dtbs/mt7622-bananapi-bpi-r64.dtb' -> '/boot/dtbs/mt7622-bananapi-bpi-r64-fixed.dtb'
fdtput /boot/dtbs/mt7622-bananapi-bpi-r64-fixed.dtb -d /pinctrl@10211000/asm_sel output-high
input  = /boot/dtbs/mt7622-bananapi-bpi-r64-fixed.dtb
output = /boot/atf-direct.dtb
overlay[0] = /boot/dtbos/cpu-thermal.dtbo
overlay[1] = /boot/dtbos/dsa-port-5.dtbo
overlay[2] = /boot/dtbos/leds-blue.dtbo
overlay[3] = /boot/dtbos/sata-enable.dtbo
overlay[4] = /boot/dtbos/wmac-eeprom.dtbo
DEBUG: Adding image /boot/initramfs-linux-bpir64-git.img
DEBUG: Adding image /boot/Image
DEBUG: Adding image /boot/atf-direct.dtb
DEBUG: Metadata size: 176 bytes
DEBUG: Payload size: 21229125 bytes
Secure Payload BL32 Extra2 (Trusted OS Extra2): offset=0xB0, size=0x6BF16F, cmdline="--tos-fw-extra2"
Non-Trusted Firmware BL33: offset=0x6BF21F, size=0xD78008, cmdline="--nt-fw"
NT_FW_CONFIG: offset=0x1437227, size=0x7CCE, cmdline="--nt-fw-config"
Writing FIP to: /dev/disk/by-partlabel/bpir64-sdmmc-fip
41463+1 records in
41463+1 records out
21229301 bytes (21 MB, 20 MiB) copied, 3.38074 s, 6.3 MB/s

i do not remember, but if i have added the led (not anybody else), i’m sure i have tested it.

Maybe you can control the gpio directly as decribed in this article?

GPIO Programming: Using the sysfs Interface | ICS

Another problem… When the BPI has not been powered for a while, the SD card does not seem to be read properly on the first boot (from 1.005915). The BPI can only be started correctly on the second boot attempt. Do you have any other ideas here? Could this somehow be due to the SD card reader?

Excerpt from full listing (see below) of the first “cold” boot which seems to be relevant:

[    1.005915] mmcblk1: mmc1:59b4 SD    118 GiB 
[    1.057172] mmc0: new HS200 MMC card at address 0001
[    1.063652] mmcblk0: mmc0:0001 008G30 7.28 GiB 
[    1.073105] mmcblk0boot0: mmc0:0001 008G30 4.00 MiB 
[    1.079085] I/O error, dev mmcblk1, sector 36 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    1.088151] I/O error, dev mmcblk1, sector 39 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    1.096689] Buffer I/O error on dev mmcblk1, logical block 4, async page read
[    1.106641] mmcblk0boot1: mmc0:0001 008G30 4.00 MiB 
[    1.114290] mmcblk0rpmb: mmc0:0001 008G30 4.00 MiB, chardev (247:0)

Full listing Log-Output from the first “cold” boot:

F0: 102B 0000
F5: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000       
BP: 0400 0041 [0000]
G0: 1190 0000       
T0: 0000 0314 [000F]
Jump to BL          
          
NOTICE:  BL2: v2.4(release):d2c75b2-dirty
NOTICE:  BL2: Built : 07:08:34, Sep  7 2022
INFO:    BL2: Doing platform setup
INFO:    PMIC: MediaTek MT6380 E3
INFO:    EMI: DRAMC calibration done
INFO:    EMI: complex R/W mem test passed
INFO:    MediaTek MMC/SD Card Controller ver 20160506, eco 0
INFO:    Located GPT partition 'fip' at 0x100000, size 0x3f00000
INFO:    BL2: Loading image id 3
INFO:    Image id=3 copied: 0x43001000 - 0x4300c0dd
INFO:    BL2: Loading image id 5
INFO:    Loading image id=5 at address 0x44000000
INFO:    Image id=5 loaded: 0x44000000 - 0x44d78008
INFO:    BL2: Loading image id 22
INFO:    Loading image id=22 at address 0x48000000
INFO:    Image id=22 loaded: 0x48000000 - 0x486bf0d1
INFO:    BL2: Loading image id 27
INFO:    Loaded BL33 image is linux kernel image, loading DTB
INFO:    Loading image id=27 at address 0x4fd00000
INFO:    Image id=27 loaded: 0x4fd00000 - 0x4fd07cce
NOTICE:  BL2: Booting BL31
INFO:    Entry point address = 0x43001000
INFO:    SPSR = 0x3cd
INFO:    Secondary bootloader is AArch64
NOTICE:  BL31: v2.4(release):d2c75b2-dirty
NOTICE:  BL31: Built : 07:08:34, Sep  7 2022
INFO:    ARM GICv2 driver initialized
INFO:    BL31: Initializing runtime services
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x44000000
INFO:    SPSR = 0x3c9
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.19.12-bpi-r64-1 (nathalieeneric@bpir64) (gcc (GCC) 12.1.0, GNU ld (GNU Binutils) 2.38) #9 SMP PREEMPT Fri Sep 30 07:02:35 CEST 2022
[    0.000000] Machine model: Bananapi BPI-R64
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    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 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    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 17 pages/cpu s32168 r8192 d29272 u69632
[    0.000000] pcpu-alloc: s32168 r8192 d29272 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] Kernel command line: root=PARTLABEL=bpir64-sdmmc-root earlycon=uart8250,mmio32,0x11002000 swiotlb=512 console=ttyS0,115200 rw rootwait audit=0
[    0.000000] audit: disabled (until reboot)
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] Memory: 1013868K/1048576K available (7424K kernel code, 1248K rwdata, 2836K rodata, 2176K init, 362K bss, 34708K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: GICv2 detected, but range too small and irqchip.gicv2_force_probe not set
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 12.50MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049cda, max_idle_ns: 440795202628 ns
[    0.000001] sched_clock: 56 bits at 13MHz, resolution 80ns, wraps every 4398046511080ns
[    0.008420] Console: colour dummy device 80x25
[    0.012923] Calibrating delay loop (skipped), value calculated using timer frequency.. 25.00 BogoMIPS (lpj=50000)
[    0.023241] pid_max: default: 32768 minimum: 301
[    0.028054] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.035498] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.045077] rcu: Hierarchical SRCU implementation.
[    0.049954] rcu: 	Max phase no-delay instances is 1000.
[    0.056132] smp: Bringing up secondary CPUs ...
[    0.061391] Detected VIPT I-cache on CPU1
[    0.061405] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x00000000bebc20, CPU1: 0x00000000000000
[    0.061439] CPU features: Unsupported CPU feature variation detected.
[    0.061480] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.061596] smp: Brought up 1 node, 2 CPUs
[    0.094597] SMP: Total of 2 processors activated.
[    0.099329] CPU features: detected: 32-bit EL0 Support
[    0.104513] CPU features: detected: CRC32 instructions
[    0.109903] CPU: All CPU(s) started at EL2
[    0.114034] alternatives: patching kernel code
[    0.119293] devtmpfs: initialized
[    0.128926] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.138760] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.145681] pinctrl core: initialized pinctrl subsystem
[    0.151906] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.158441] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.165572] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.173386] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.181951] i2c-core: driver [dummy] registered
[    0.186528] thermal_sys: Registered thermal governor 'fair_share'
[    0.186534] thermal_sys: Registered thermal governor 'bang_bang'
[    0.192656] thermal_sys: Registered thermal governor 'step_wise'
[    0.198692] thermal_sys: Registered thermal governor 'user_space'
[    0.205068] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.218091] ASID allocator initialised with 65536 entries
[    0.241130] gpio-499 (asm_sel): hogged as output/low
[    0.266771] SCSI subsystem initialized
[    0.270800] libata version 3.00 loaded.
[    0.274877] usbcore: registered new interface driver usbfs
[    0.280484] usbcore: registered new interface driver hub
[    0.285865] usbcore: registered new device driver usb
[    0.291010] mc: Linux media interface: v0.10
[    0.295328] videodev: Linux video capture interface: v2.00
[    0.300882] pps_core: LinuxPPS API ver. 1 registered
[    0.305872] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.315060] PTP clock support registered
[    0.320393] vgaarb: loaded
[    0.323594] clocksource: Switched to clocksource arch_sys_counter
[    0.338083] NET: Registered PF_INET protocol family
[    0.343236] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.351850] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.360335] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.368136] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.375997] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.383372] TCP: Hash tables configured (established 8192 bind 8192)
[    0.389903] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.396580] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.403856] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.409574] PCI: CLS 0 bytes, default 64
[    0.414206] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.423690] Initialise system trusted keyrings
[    0.428412] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.475380] Key type asymmetric registered
[    0.479515] Asymmetric key parser 'x509' registered
[    0.484453] io scheduler mq-deadline registered
[    0.489010] io scheduler kyber registered
[    0.503744] mt-pmic-pwrap 10001000.pwrap: unexpected interrupt int=0x1
[    0.523545] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.531753] printk: console [ttyS0] disabled
[    0.556253] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 120, base_baud = 1562500) is a ST16650V2
[    0.565606] printk: console [ttyS0] enabled
[    0.565606] printk: console [ttyS0] enabled
[    0.574006] printk: bootconsole [uart8250] disabled
[    0.574006] printk: bootconsole [uart8250] disabled
[    0.585062] 1100c000.serial: ttyS1 at MMIO 0x1100c000 (irq = 121, base_baud = 17499995) is a MediaTek BTIF
[    0.594900] serial serial0: tty port ttyS1 registered
[    0.600732] mtk_rng 1020f000.rng: registered RNG driver
[    0.600911] random: crng init done
[    0.610070] ahci-mtk 1a200000.sata: supply ahci not found, using dummy regulator
[    0.617676] ahci-mtk 1a200000.sata: supply phy not found, using dummy regulator
[    0.625131] ahci-mtk 1a200000.sata: supply target not found, using dummy regulator
[    0.632935] ahci-mtk 1a200000.sata: forcing port_map 0x0 -> 0x1
[    0.638916] ahci-mtk 1a200000.sata: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    0.647804] ahci-mtk 1a200000.sata: flags: ncq sntf pm clo only pmp pio slum part ccc apst 
[    0.656988] scsi host0: ahci-mtk
[    0.660561] ata1: SATA max UDMA/133 mmio [mem 0x1a200000-0x1a2010ff] port 0x100 irq 122
[    0.684966] mtk_soc_eth 1b100000.ethernet: generated random MAC address fe:58:7f:cf:87:d4
[    0.693625] mtk_soc_eth 1b100000.ethernet eth0: mediatek frame engine at 0xffffffc008fa0000, irq 126
[    0.702846] mtk_soc_eth 1b100000.ethernet: generated random MAC address 9e:d4:22:f8:8e:a4
[    0.711360] mtk_soc_eth 1b100000.ethernet eth1: mediatek frame engine at 0xffffffc008fa0000, irq 126
[    0.721138] usbcore: registered new interface driver usb-storage
[    0.728109] rtc_mt7622 10212800.rtc: registered as rtc0
[    0.733401] rtc_mt7622 10212800.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
[    0.742381] i2c_dev: i2c /dev entries driver
[    0.747081] i2c-mt65xx 11008000.i2c: clock-frequency: 100000
[    0.752761] i2c-mt65xx 11008000.i2c: i2c-scl-rising-time-ns: 1000
[    0.758866] i2c-mt65xx 11008000.i2c: i2c-scl-falling-time-ns: 300
[    0.764966] i2c-mt65xx 11008000.i2c: i2c-scl-internal-delay-ns: 0
[    0.771066] i2c-mt65xx 11008000.i2c: i2c-sda-falling-time-ns: 300
[    0.777166] i2c-mt65xx 11008000.i2c: i2c-sda-hold-time-ns: 0
[    0.782830] i2c-mt65xx 11008000.i2c: i2c-digital-filter-width-ns: 0
[    0.789103] i2c-mt65xx 11008000.i2c: i2c-analog-filter-cutoff-frequency: 0
[    0.796367] i2c_dev: adapter [i2c-mt65xx] registered as minor 0
[    0.802351] i2c i2c-0: adapter [i2c-mt65xx] registered
[    0.807504] i2c i2c-0: of_i2c: walking child nodes
[    0.812598] i2c-mt65xx 11009000.i2c: clock-frequency: 100000
[    0.818277] i2c-mt65xx 11009000.i2c: i2c-scl-rising-time-ns: 1000
[    0.824378] i2c-mt65xx 11009000.i2c: i2c-scl-falling-time-ns: 300
[    0.830477] i2c-mt65xx 11009000.i2c: i2c-scl-internal-delay-ns: 0
[    0.836581] i2c-mt65xx 11009000.i2c: i2c-sda-falling-time-ns: 300
[    0.842681] i2c-mt65xx 11009000.i2c: i2c-sda-hold-time-ns: 0
[    0.848346] i2c-mt65xx 11009000.i2c: i2c-digital-filter-width-ns: 0
[    0.854619] i2c-mt65xx 11009000.i2c: i2c-analog-filter-cutoff-frequency: 0
[    0.861863] i2c_dev: adapter [i2c-mt65xx] registered as minor 1
[    0.867843] i2c i2c-1: adapter [i2c-mt65xx] registered
[    0.872999] i2c i2c-1: of_i2c: walking child nodes
[    0.879530] mtk-wdt 10212000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    0.891754] mtk-msdc 11240000.mmc: Got CD GPIO
[    0.896288] ledtrig-cpu: registered to indicate activity on CPUs
[    0.902430] SMCCC: SOC_ID: ID = jep106:0426:7622 Revision = 0x00000000
[    0.909554] usbcore: registered new interface driver usbhid
[    0.915137] usbhid: USB HID core driver
[    0.921592] NET: Registered PF_INET6 protocol family
[    0.928092] Segment Routing with IPv6
[    0.932026] In-situ OAM (IOAM) with IPv6
[    0.936157] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.942953] NET: Registered PF_PACKET protocol family
[    0.948431] 8021q: 802.1Q VLAN Support v1.8
[    0.953457] Loading compiled-in X.509 certificates
[    0.971023] mmc1: host does not support reading read-only switch, assuming write-enable
[    0.980906] mtk-pcie 1a143000.pcie: host bridge /pcie@1a143000 ranges:
[    0.984324] ata1: SATA link down (SStatus 0 SControl 300)
[    0.987756] mtk-pcie 1a143000.pcie: Parsing ranges property...
[    0.998763] mmc1: new high speed SDXC card at address 59b4
[    0.998811] mtk-pcie 1a143000.pcie:      MEM 0x0020000000..0x0027ffffff -> 0x0020000000
[    1.005915] mmcblk1: mmc1:59b4 SD    118 GiB 
[    1.057172] mmc0: new HS200 MMC card at address 0001
[    1.063652] mmcblk0: mmc0:0001 008G30 7.28 GiB 
[    1.073105] mmcblk0boot0: mmc0:0001 008G30 4.00 MiB 
[    1.079085] I/O error, dev mmcblk1, sector 36 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    1.088151] I/O error, dev mmcblk1, sector 39 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    1.096689] Buffer I/O error on dev mmcblk1, logical block 4, async page read
[    1.106641] mmcblk0boot1: mmc0:0001 008G30 4.00 MiB 
[    1.114290] mmcblk0rpmb: mmc0:0001 008G30 4.00 MiB, chardev (247:0)
[    1.146943] mtk-pcie 1a143000.pcie: PCI host bridge to bus 0000:00
[    1.153144] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.158639] pci_bus 0000:00: root bus resource [mem 0x20000000-0x27ffffff]
[    1.165521] pci_bus 0000:00: scanning bus
[    1.169585] pci 0000:00:00.0: [14c3:3258] type 01 class 0x060400
[    1.175628] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x1ffffffff 64bit pref]
[    1.183248] pci 0000:00:00.0: vgaarb: pci_notify
[    1.189362] pci_bus 0000:00: fixups for bus
[    1.193568] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 0
[    1.200279] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.208301] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1
[    1.215140] pci_bus 0000:01: scanning bus
[    1.219326] pci 0000:01:00.0: [14c3:7615] type 00 class 0x000280
[    1.225527] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    1.233298] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    1.248405] pci 0000:01:00.0: vgaarb: pci_notify
[    1.265090] pci_bus 0000:01: fixups for bus
[    1.269298] pci_bus 0000:01: bus scan returning with max=01
[    1.274878] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.281514] pci_bus 0000:00: bus scan returning with max=01
[    1.287110] pci 0000:00:00.0: BAR 0: no space for [mem size 0x200000000 64bit pref]
[    1.294773] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x200000000 64bit pref]
[    1.302784] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[    1.309585] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64bit]
[    1.316987] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.321964] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
[    1.329270] mtk-pcie 1a145000.pcie: host bridge /pcie@1a145000 ranges:
[    1.335856] mtk-pcie 1a145000.pcie: Parsing ranges property...
[    1.341702] mtk-pcie 1a145000.pcie:      MEM 0x0028000000..0x002fffffff -> 0x0028000000
[    1.555647] mtk-pcie 1a145000.pcie: Port1 link down
[    1.560707] mtk-pcie 1a145000.pcie: PCI host bridge to bus 0001:00
[    1.566899] pci_bus 0001:00: root bus resource [bus 00-ff]
[    1.572394] pci_bus 0001:00: root bus resource [mem 0x28000000-0x2fffffff]
[    1.579280] pci_bus 0001:00: scanning bus
[    1.584737] pci_bus 0001:00: fixups for bus
[    1.588931] pci_bus 0001:00: bus scan returning with max=00
[    1.595367] mtk_hsdma 1b007000.dma-controller: MediaTek HSDMA driver registered
[    1.640487] mt7530 mdio-bus:00: no interrupt support
[    1.655313] mt7530 mdio-bus:00: configuring for fixed/2500base-x link mode
[    1.662516] mt7530 mdio-bus:00: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    1.674508] mt7530 mdio-bus:00 wan (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.696260] mt7530 mdio-bus:00 lan0 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.717833] mt7530 mdio-bus:00 lan1 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.739306] mt7530 mdio-bus:00 lan2 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.760776] mt7530 mdio-bus:00 lan3 (uninitialized): PHY [mt7530-0:04] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.772136] device eth0 entered promiscuous mode
[    1.776835] DSA: tree 0 setup
[    1.781332] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.786620] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 1
[    1.795705] xhci-mtk 1a0c0000.usb: hcc params 0x01403198 hci version 0x96 quirks 0x0000000000210010
[    1.804823] xhci-mtk 1a0c0000.usb: irq 137, io mem 0x1a0c0000
[    1.810779] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.816041] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 2
[    1.823453] xhci-mtk 1a0c0000.usb: Host supports USB 3.0 SuperSpeed
[    1.830469] hub 1-0:1.0: USB hub found
[    1.834273] hub 1-0:1.0: 2 ports detected
[    1.838778] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.847514] hub 2-0:1.0: USB hub found
[    1.851321] hub 2-0:1.0: 1 port detected
[    1.856502] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.864403] Waiting for root device PARTLABEL=bpir64-sdmmc-root...

Excerpt from “warm start”:

[    1.020285] mmcblk1: mmc1:59b4 SD    118 GiB 
[    1.038806]  mmcblk1: p1 p2 p3
[    1.073348] mmc0: new HS200 MMC card at address 0001
[    1.079806] mmcblk0: mmc0:0001 008G30 7.28 GiB 
[    1.088906] mmcblk0boot0: mmc0:0001 008G30 4.00 MiB 
[    1.097478] mmcblk0boot1: mmc0:0001 008G30 4.00 MiB 
[    1.105168] mmcblk0rpmb: mmc0:0001 008G30 4.00 MiB, chardev (247:0)
[    1.158025] mtk-pcie 1a143000.pcie: PCI host bridge to bus 0000:100:

Full listing from Log Output from the second “warm” boot:

F0: 102B 0000
F5: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000       
BP: 0400 0041 [0000]
G0: 1190 0000       
T0: 0000 02D8 [000F]
Jump to BL          
          
NOTICE:  BL2: v2.4(release):d2c75b2-dirty
NOTICE:  BL2: Built : 07:08:34, Sep  7 2022
INFO:    BL2: Doing platform setup
INFO:    PMIC: MediaTek MT6380 E3
INFO:    EMI: DRAMC calibration done
INFO:    EMI: complex R/W mem test passed
INFO:    MediaTek MMC/SD Card Controller ver 20160506, eco 0
INFO:    Located GPT partition 'fip' at 0x100000, size 0x3f00000
INFO:    BL2: Loading image id 3
INFO:    Image id=3 copied: 0x43001000 - 0x4300c0dd
INFO:    BL2: Loading image id 5
INFO:    Loading image id=5 at address 0x44000000
INFO:    Image id=5 loaded: 0x44000000 - 0x44d78008
INFO:    BL2: Loading image id 22
INFO:    Loading image id=22 at address 0x48000000
INFO:    Image id=22 loaded: 0x48000000 - 0x486bf0d1
INFO:    BL2: Loading image id 27
INFO:    Loaded BL33 image is linux kernel image, loading DTB
INFO:    Loading image id=27 at address 0x4fd00000
INFO:    Image id=27 loaded: 0x4fd00000 - 0x4fd07cce
NOTICE:  BL2: Booting BL31
INFO:    Entry point address = 0x43001000
INFO:    SPSR = 0x3cd
INFO:    Secondary bootloader is AArch64
NOTICE:  BL31: v2.4(release):d2c75b2-dirty
NOTICE:  BL31: Built : 07:08:34, Sep  7 2022
INFO:    ARM GICv2 driver initialized
INFO:    BL31: Initializing runtime services
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x44000000
INFO:    SPSR = 0x3c9
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.19.12-bpi-r64-1 (nathalieeneric@bpir64) (gcc (GCC) 12.1.0, GNU ld (GNU Binutils) 2.38) #9 SMP PREEMPT Fri Sep 30 07:02:35 CEST 2022
[    0.000000] Machine model: Bananapi BPI-R64
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    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 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    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 17 pages/cpu s32168 r8192 d29272 u69632
[    0.000000] pcpu-alloc: s32168 r8192 d29272 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] Kernel command line: root=PARTLABEL=bpir64-sdmmc-root earlycon=uart8250,mmio32,0x11002000 swiotlb=512 console=ttyS0,115200 rw rootwait audit=0
[    0.000000] audit: disabled (until reboot)
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] Memory: 1013868K/1048576K available (7424K kernel code, 1248K rwdata, 2836K rodata, 2176K init, 362K bss, 34708K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: GICv2 detected, but range too small and irqchip.gicv2_force_probe not set
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 12.50MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049cda, max_idle_ns: 440795202628 ns
[    0.000001] sched_clock: 56 bits at 13MHz, resolution 80ns, wraps every 4398046511080ns
[    0.008418] Console: colour dummy device 80x25
[    0.012921] Calibrating delay loop (skipped), value calculated using timer frequency.. 25.00 BogoMIPS (lpj=50000)
[    0.023239] pid_max: default: 32768 minimum: 301
[    0.028052] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.035496] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.045075] rcu: Hierarchical SRCU implementation.
[    0.049951] rcu: 	Max phase no-delay instances is 1000.
[    0.056120] smp: Bringing up secondary CPUs ...
[    0.061377] Detected VIPT I-cache on CPU1
[    0.061390] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x00000000bebc20, CPU1: 0x00000000000000
[    0.061425] CPU features: Unsupported CPU feature variation detected.
[    0.061467] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.061584] smp: Brought up 1 node, 2 CPUs
[    0.094587] SMP: Total of 2 processors activated.
[    0.099318] CPU features: detected: 32-bit EL0 Support
[    0.104503] CPU features: detected: CRC32 instructions
[    0.109891] CPU: All CPU(s) started at EL2
[    0.114022] alternatives: patching kernel code
[    0.119280] devtmpfs: initialized
[    0.128900] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.138735] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.145656] pinctrl core: initialized pinctrl subsystem
[    0.151879] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.158412] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.165543] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.173357] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.181914] i2c-core: driver [dummy] registered
[    0.186492] thermal_sys: Registered thermal governor 'fair_share'
[    0.186498] thermal_sys: Registered thermal governor 'bang_bang'
[    0.192621] thermal_sys: Registered thermal governor 'step_wise'
[    0.198656] thermal_sys: Registered thermal governor 'user_space'
[    0.205031] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.218056] ASID allocator initialised with 65536 entries
[    0.241132] gpio-499 (asm_sel): hogged as output/low
[    0.266787] SCSI subsystem initialized
[    0.270831] libata version 3.00 loaded.
[    0.274910] usbcore: registered new interface driver usbfs
[    0.280515] usbcore: registered new interface driver hub
[    0.285896] usbcore: registered new device driver usb
[    0.291040] mc: Linux media interface: v0.10
[    0.295356] videodev: Linux video capture interface: v2.00
[    0.300910] pps_core: LinuxPPS API ver. 1 registered
[    0.305900] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.315088] PTP clock support registered
[    0.320427] vgaarb: loaded
[    0.323643] clocksource: Switched to clocksource arch_sys_counter
[    0.338124] NET: Registered PF_INET protocol family
[    0.343317] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.352054] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.360545] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.368347] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.376220] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.383611] TCP: Hash tables configured (established 8192 bind 8192)
[    0.390160] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.396861] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.404140] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.409858] PCI: CLS 0 bytes, default 64
[    0.414514] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.423967] Initialise system trusted keyrings
[    0.428693] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.476151] Key type asymmetric registered
[    0.480287] Asymmetric key parser 'x509' registered
[    0.485223] io scheduler mq-deadline registered
[    0.489780] io scheduler kyber registered
[    0.504524] mt-pmic-pwrap 10001000.pwrap: unexpected interrupt int=0x1
[    0.531061] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.539220] printk: console [ttyS0] disabled
[    0.563732] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 120, base_baud = 1562500) is a ST16650V2
[    0.573086] printk: console [ttyS0] enabled
[    0.573086] printk: console [ttyS0] enabled
[    0.581480] printk: bootconsole [uart8250] disabled
[    0.581480] printk: bootconsole [uart8250] disabled
[    0.592545] 1100c000.serial: ttyS1 at MMIO 0x1100c000 (irq = 121, base_baud = 17499995) is a MediaTek BTIF
[    0.602379] serial serial0: tty port ttyS1 registered
[    0.608213] mtk_rng 1020f000.rng: registered RNG driver
[    0.608391] random: crng init done
[    0.617673] ahci-mtk 1a200000.sata: supply ahci not found, using dummy regulator
[    0.625282] ahci-mtk 1a200000.sata: supply phy not found, using dummy regulator
[    0.632721] ahci-mtk 1a200000.sata: supply target not found, using dummy regulator
[    0.640533] ahci-mtk 1a200000.sata: forcing port_map 0x0 -> 0x1
[    0.646513] ahci-mtk 1a200000.sata: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    0.655400] ahci-mtk 1a200000.sata: flags: ncq sntf pm clo only pmp pio slum part ccc apst 
[    0.664585] scsi host0: ahci-mtk
[    0.668171] ata1: SATA max UDMA/133 mmio [mem 0x1a200000-0x1a2010ff] port 0x100 irq 122
[    0.692529] mtk_soc_eth 1b100000.ethernet: generated random MAC address 2a:c2:54:ba:44:ee
[    0.701158] mtk_soc_eth 1b100000.ethernet eth0: mediatek frame engine at 0xffffffc008fc0000, irq 126
[    0.710391] mtk_soc_eth 1b100000.ethernet: generated random MAC address c6:8c:17:99:5a:16
[    0.718923] mtk_soc_eth 1b100000.ethernet eth1: mediatek frame engine at 0xffffffc008fc0000, irq 126
[    0.728919] usbcore: registered new interface driver usb-storage
[    0.735880] rtc_mt7622 10212800.rtc: registered as rtc0
[    0.741151] rtc_mt7622 10212800.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
[    0.750125] i2c_dev: i2c /dev entries driver
[    0.754818] i2c-mt65xx 11008000.i2c: clock-frequency: 100000
[    0.760498] i2c-mt65xx 11008000.i2c: i2c-scl-rising-time-ns: 1000
[    0.766602] i2c-mt65xx 11008000.i2c: i2c-scl-falling-time-ns: 300
[    0.772716] i2c-mt65xx 11008000.i2c: i2c-scl-internal-delay-ns: 0
[    0.778816] i2c-mt65xx 11008000.i2c: i2c-sda-falling-time-ns: 300
[    0.784917] i2c-mt65xx 11008000.i2c: i2c-sda-hold-time-ns: 0
[    0.790581] i2c-mt65xx 11008000.i2c: i2c-digital-filter-width-ns: 0
[    0.796854] i2c-mt65xx 11008000.i2c: i2c-analog-filter-cutoff-frequency: 0
[    0.804108] i2c_dev: adapter [i2c-mt65xx] registered as minor 0
[    0.810092] i2c i2c-0: adapter [i2c-mt65xx] registered
[    0.815245] i2c i2c-0: of_i2c: walking child nodes
[    0.820351] i2c-mt65xx 11009000.i2c: clock-frequency: 100000
[    0.826029] i2c-mt65xx 11009000.i2c: i2c-scl-rising-time-ns: 1000
[    0.832142] i2c-mt65xx 11009000.i2c: i2c-scl-falling-time-ns: 300
[    0.838243] i2c-mt65xx 11009000.i2c: i2c-scl-internal-delay-ns: 0
[    0.844346] i2c-mt65xx 11009000.i2c: i2c-sda-falling-time-ns: 300
[    0.850445] i2c-mt65xx 11009000.i2c: i2c-sda-hold-time-ns: 0
[    0.856110] i2c-mt65xx 11009000.i2c: i2c-digital-filter-width-ns: 0
[    0.862383] i2c-mt65xx 11009000.i2c: i2c-analog-filter-cutoff-frequency: 0
[    0.869621] i2c_dev: adapter [i2c-mt65xx] registered as minor 1
[    0.875603] i2c i2c-1: adapter [i2c-mt65xx] registered
[    0.880759] i2c i2c-1: of_i2c: walking child nodes
[    0.887277] mtk-wdt 10212000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    0.899427] mtk-msdc 11240000.mmc: Got CD GPIO
[    0.903958] ledtrig-cpu: registered to indicate activity on CPUs
[    0.910089] SMCCC: SOC_ID: ID = jep106:0426:7622 Revision = 0x00000000
[    0.917195] usbcore: registered new interface driver usbhid
[    0.922778] usbhid: USB HID core driver
[    0.929359] NET: Registered PF_INET6 protocol family
[    0.935766] Segment Routing with IPv6
[    0.939477] In-situ OAM (IOAM) with IPv6
[    0.943484] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.949984] NET: Registered PF_PACKET protocol family
[    0.955345] 8021q: 802.1Q VLAN Support v1.8
[    0.960129] Loading compiled-in X.509 certificates
[    0.987114] mmc1: host does not support reading read-only switch, assuming write-enable
[    0.987222] mtk-pcie 1a143000.pcie: host bridge /pcie@1a143000 ranges:
[    0.995266] ata1: SATA link down (SStatus 0 SControl 300)
[    1.001834] mtk-pcie 1a143000.pcie: Parsing ranges property...
[    1.013087] mmc1: new high speed SDXC card at address 59b4
[    1.013145] mtk-pcie 1a143000.pcie:      MEM 0x0020000000..0x0027ffffff -> 0x0020000000
[    1.020285] mmcblk1: mmc1:59b4 SD    118 GiB 
[    1.038806]  mmcblk1: p1 p2 p3
[    1.073348] mmc0: new HS200 MMC card at address 0001
[    1.079806] mmcblk0: mmc0:0001 008G30 7.28 GiB 
[    1.088906] mmcblk0boot0: mmc0:0001 008G30 4.00 MiB 
[    1.097478] mmcblk0boot1: mmc0:0001 008G30 4.00 MiB 
[    1.105168] mmcblk0rpmb: mmc0:0001 008G30 4.00 MiB, chardev (247:0)
[    1.158025] mtk-pcie 1a143000.pcie: PCI host bridge to bus 0000:00
[    1.164230] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.169726] pci_bus 0000:00: root bus resource [mem 0x20000000-0x27ffffff]
[    1.176654] pci_bus 0000:00: scanning bus
[    1.180715] pci 0000:00:00.0: [14c3:3258] type 01 class 0x060400
[    1.186759] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x1ffffffff 64bit pref]
[    1.194376] pci 0000:00:00.0: vgaarb: pci_notify
[    1.200487] pci_bus 0000:00: fixups for bus
[    1.204691] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 0
[    1.211401] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.219422] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1
[    1.226256] pci_bus 0000:01: scanning bus
[    1.230441] pci 0000:01:00.0: [14c3:7615] type 00 class 0x000280
[    1.236638] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    1.244420] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    1.259511] pci 0000:01:00.0: vgaarb: pci_notify
[    1.277150] pci_bus 0000:01: fixups for bus
[    1.281363] pci_bus 0000:01: bus scan returning with max=01
[    1.286944] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.293574] pci_bus 0000:00: bus scan returning with max=01
[    1.299169] pci 0000:00:00.0: BAR 0: no space for [mem size 0x200000000 64bit pref]
[    1.306833] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x200000000 64bit pref]
[    1.314844] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[    1.321646] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64bit]
[    1.329054] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.334031] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
[    1.341374] mtk-pcie 1a145000.pcie: host bridge /pcie@1a145000 ranges:
[    1.347962] mtk-pcie 1a145000.pcie: Parsing ranges property...
[    1.353809] mtk-pcie 1a145000.pcie:      MEM 0x0028000000..0x002fffffff -> 0x0028000000
[    1.567686] mtk-pcie 1a145000.pcie: Port1 link down
[    1.572764] mtk-pcie 1a145000.pcie: PCI host bridge to bus 0001:00
[    1.578957] pci_bus 0001:00: root bus resource [bus 00-ff]
[    1.584453] pci_bus 0001:00: root bus resource [mem 0x28000000-0x2fffffff]
[    1.591335] pci_bus 0001:00: scanning bus
[    1.596790] pci_bus 0001:00: fixups for bus
[    1.600982] pci_bus 0001:00: bus scan returning with max=00
[    1.607415] mtk_hsdma 1b007000.dma-controller: MediaTek HSDMA driver registered
[    1.652422] mt7530 mdio-bus:00: no interrupt support
[    1.667235] mt7530 mdio-bus:00: configuring for fixed/2500base-x link mode
[    1.674437] mt7530 mdio-bus:00: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    1.686556] mt7530 mdio-bus:00 wan (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.708338] mt7530 mdio-bus:00 lan0 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.729883] mt7530 mdio-bus:00 lan1 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.751328] mt7530 mdio-bus:00 lan2 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.772802] mt7530 mdio-bus:00 lan3 (uninitialized): PHY [mt7530-0:04] driver [MediaTek MT7531 PHY] (irq=POLL)
[    1.784170] device eth0 entered promiscuous mode
[    1.788867] DSA: tree 0 setup
[    1.793365] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.798654] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 1
[    1.807741] xhci-mtk 1a0c0000.usb: hcc params 0x01403198 hci version 0x96 quirks 0x0000000000210010
[    1.816855] xhci-mtk 1a0c0000.usb: irq 137, io mem 0x1a0c0000
[    1.822797] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.828059] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 2
[    1.835470] xhci-mtk 1a0c0000.usb: Host supports USB 3.0 SuperSpeed
[    1.842516] hub 1-0:1.0: USB hub found
[    1.846326] hub 1-0:1.0: 2 ports detected
[    1.850836] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.859568] hub 2-0:1.0: USB hub found
[    1.863368] hub 2-0:1.0: 1 port detected
[    1.868558] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    2.175075] F2FS-fs (mmcblk1p3): Mounted with checkpoint version = 103f5957
[    2.182303] VFS: Mounted root (f2fs filesystem) on device 179:3.
[    2.190341] devtmpfs: mounted
[    2.194440] Freeing unused kernel memory: 2176K
[    2.199252] Run /sbin/init as init process
[    2.203366]   with arguments:
[    2.206367]     /sbin/init
[    2.209078]   with environment:
[    2.212330]     HOME=/
[    2.214685]     TERM=linux
[    2.776959] systemd[1]: System time before build time, advancing clock.
[    2.858836] systemd[1]: systemd 251.4-1-arch running in system mode (+PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified)
[    2.891243] systemd[1]: Detected architecture arm64.

Welcome to Arch Linux ARM!

[    2.925291] systemd[1]: Hostname set to <bpir64>.
[    3.624872] systemd[1]: Queued start job for default target Graphical Interface.
[    3.636888] systemd[1]: Created slice Slice /system/getty.

Thank you in advance for your reply.

Thanks for this hint. We will try this later. The idea with the dts-overlays seems not to be applicable for the LEDs…

Have never experienced this mmc error. I would say try another card, different brand. Preferably high endurance. I have used Kingston and kioxia. The second one U-boot does not like, but I do not use U-boot.

It is however weird because even on your coldboot ATF seems to be able to read from the card just fine as it can read everything from the fip partition.

Maybe the kernel initialises the card differently and your card is not fully compatible

The first error is on sector 36 which would not be the first sector read from the card, also not by the kernel. It would start with sectors 0 and 1, which it seems to read ok.

However logical block 4 if this is where the error is is in the gpt table.

Anyway, this is the Kingston card I have used a lot without any problems on BPI-R64 and also other devices.

https://www.informatique.nl/196342/kingston-32gb-microsdhc-endurance-95r-30.html

And this is the kioxia one (64gb version)

https://azerty.nl/product/kioxia-exceria-high-endurance-flashgeheugenkaart/4196235

It also boots fine on ATF and kernel. Only u-boot and only on BPI-R64 it does not work.

Did you have any luck with troubleshooting the mmc errors?

Btw, I just read, avoid using A2 SD cards. The command queue is not implemented in the linux kernel.

Thanks for the work, the image is really good ! kingston (32 Gb), SanDisk (4 Gb) - Ok

But there is a question how can I install kernel headers ?

pacman -S linux-headers # --> error: failed retrieving file ‘linux-bpir64-git-headers-5.19.11.bpi.r64.1-1-aarch64.pkg.tar.xz’ from github.com

I cannot check right now, but if there is a new version available, the old one is removed. Update the database. Normally you would use:

pacman -Syu

Then also all out of date packages are updated.

Addition:

After updating the database it knows it should retrieve version 5.19.16

The correct headers package is already installed. You would only need to update the package.

If you need headers for userspace programs install the general linux-api-headers package.