NanoPi R6S kernel 6.1 Intergration

Hi all, I am looking for some help integrating the NanoPi R6S into OpenWRT, with some minor patching to mainline 6.1 / LTS I have the device booting with :

  • Both PCIE lanes
  • both 2.5GbE interfaces loaded
  • mdio based 1GbE interface loaded
  • USB working
  • eMMC working
  • SD Card working
  • Video (not working)
  • Basic CPU scaling working

Kernel Logs (with some nasty debug logs from myself)

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.1.0 (shane@wasp) (aarch64-linux-gnu-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39) #19 SMP PREEMPT_DYNAMIC Thu Mar 16 09:47:26 GMT 2023
[    0.000000] Machine model: FriendlyElec Nanopi6 - RK3588
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000200000-0x00000000083fffff]
[    0.000000]   node   0: [mem 0x0000000009400000-0x00000000efffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000001ffffffff]
[    0.000000] On node 0, zone DMA: 512 pages in unavailable ranges
[    0.000000] On node 0, zone DMA: 4096 pages in unavailable ranges
[    0.000000] cma: Reserved 16 MiB at 0x00000000ef000000
[    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: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 29 pages/cpu s81080 r8192 d29512 u118784
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: Virtualization Host Extensions
[    0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 1286807, 2441009
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1995336
[    0.000000] Kernel command line: storagemedia=sd androidboot.storagemedia=sd androidboot.mode=normal androidboot.verifiedbootstate=orange
[    0.000000] Unknown kernel command line parameters "storagemedia=sd", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 8.
[    0.000000] software IO TLB: mapped [mem 0x00000000eb000000-0x00000000ef000000] (64MB)
[    0.000000] Memory: 7832148K/8108032K available (13632K kernel code, 3156K rwdata, 5280K rodata, 6144K init, 605K bss, 259500K reserved, 16384K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] ftrace: allocating 53534 entries in 210 pages
[    0.000000] ftrace: allocated 210 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] Dynamic Preempt: voluntary
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 30 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 480 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fe680000
[    0.000000] ITS [mem 0xfe640000-0xfe65ffff]
[    0.000000] GIC: enabling workaround for ITS: Rockchip RK3568 force no_local_cache
[    0.000000] ITS@0x00000000fe640000: allocated 8192 Devices @210000 (indirect, esz 8, psz 64K, shr 0)
[    0.000000] ITS@0x00000000fe640000: allocated 32768 Interrupt Collections @220000 (flat, esz 2, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] ITS [mem 0xfe660000-0xfe67ffff]
[    0.000000] GIC: enabling workaround for ITS: Rockchip RK3568 force no_local_cache
[    0.000000] ITS@0x00000000fe660000: allocated 8192 Devices @240000 (indirect, esz 8, psz 64K, shr 0)
[    0.000000] ITS@0x00000000fe660000: allocated 32768 Interrupt Collections @250000 (flat, esz 2, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] ITS ALLOCATE PROP WORKAROUND
[    0.000000] GICv3: using LPI property table @0x0000000000260000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000000270000
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@100[1] /cpus/cpu@200[2] /cpus/cpu@300[3] /cpus/cpu@400[4] /cpus/cpu@500[5] /cpus/cpu@600[6] /cpus/cpu@700[7] }
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000621] Console: colour dummy device 80x25
[    0.001527] printk: console [tty0] enabled
[    0.001577] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=80000)
[    0.001609] pid_max: default: 32768 minimum: 301
[    0.001691] LSM: Security Framework initializing
[    0.001803] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.004691] rcu: Hierarchical SRCU implementation.
[    0.004710] rcu:     Max phase no-delay instances is 1000.
[    0.005914] EFI services will not be available.
[    0.006384] smp: Bringing up secondary CPUs ...
[    0.007830] Detected VIPT I-cache on CPU1
[    0.007928] GICv3: CPU1: found redistributor 100 region 0:0x00000000fe6a0000
[    0.007943] GICv3: CPU1: using allocated LPI pending table @0x0000000000280000
[    0.007989] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[    0.009434] Detected VIPT I-cache on CPU2
[    0.009530] GICv3: CPU2: found redistributor 200 region 0:0x00000000fe6c0000
[    0.009545] GICv3: CPU2: using allocated LPI pending table @0x0000000000290000
[    0.009586] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[    0.011062] Detected VIPT I-cache on CPU3
[    0.011159] GICv3: CPU3: found redistributor 300 region 0:0x00000000fe6e0000
[    0.011172] GICv3: CPU3: using allocated LPI pending table @0x00000000002a0000
[    0.011212] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[    0.012604] CPU features: detected: Spectre-v4
[    0.012609] CPU features: detected: Spectre-BHB
[    0.012613] Detected PIPT I-cache on CPU4
[    0.012667] GICv3: CPU4: found redistributor 400 region 0:0x00000000fe700000
[    0.012676] GICv3: CPU4: using allocated LPI pending table @0x00000000002b0000
[    0.012700] CPU4: Booted secondary processor 0x0000000400 [0x414fd0b0]
[    0.014111] Detected PIPT I-cache on CPU5
[    0.014170] GICv3: CPU5: found redistributor 500 region 0:0x00000000fe720000
[    0.014179] GICv3: CPU5: using allocated LPI pending table @0x00000000002c0000
[    0.014204] CPU5: Booted secondary processor 0x0000000500 [0x414fd0b0]
[    0.015558] Detected PIPT I-cache on CPU6
[    0.015616] GICv3: CPU6: found redistributor 600 region 0:0x00000000fe740000
[    0.015624] GICv3: CPU6: using allocated LPI pending table @0x00000000002d0000
[    0.015649] CPU6: Booted secondary processor 0x0000000600 [0x414fd0b0]
[    0.017013] Detected PIPT I-cache on CPU7
[    0.017073] GICv3: CPU7: found redistributor 700 region 0:0x00000000fe760000
[    0.017082] GICv3: CPU7: using allocated LPI pending table @0x00000000002e0000
[    0.017106] CPU7: Booted secondary processor 0x0000000700 [0x414fd0b0]
[    0.017180] smp: Brought up 1 node, 8 CPUs
[    0.017553] SMP: Total of 8 processors activated.
[    0.017569] CPU features: detected: 32-bit EL0 Support
[    0.017808] CPU: All CPU(s) started at EL2
[    0.017823] alternatives: applying system-wide alternatives
[    0.021268] devtmpfs: initialized
[    0.027525] Registered cp15_barrier emulation handler
[    0.027540] Registered setend emulation handler
[    0.027639] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[    0.027654] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.027894] pinctrl core: initialized pinctrl subsystem
[    0.028158] DMI not present or invalid.
[    0.028477] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.029351] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.029563] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.029752] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.030522] thermal_sys: Registered thermal governor 'fair_share'
[    0.030525] thermal_sys: Registered thermal governor 'step_wise'
[    0.030533] thermal_sys: Registered thermal governor 'user_space'
[    0.030539] thermal_sys: Registered thermal governor 'power_allocator'
[    0.030568] cpuidle: using governor menu
[    0.030652] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.030794] ASID allocator initialised with 65536 entries
[    0.037036] rockchip-gpio fd8a0000.gpio: probed /pinctrl/gpio@fd8a0000
[    0.037344] rockchip-gpio fec20000.gpio: probed /pinctrl/gpio@fec20000
[    0.037615] rockchip-gpio fec30000.gpio: probed /pinctrl/gpio@fec30000
[    0.037937] rockchip-gpio fec40000.gpio: probed /pinctrl/gpio@fec40000
[    0.038209] rockchip-gpio fec50000.gpio: probed /pinctrl/gpio@fec50000
[    0.053117] iommu: Default domain type: Translated 
[    0.053125] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.053304] SCSI subsystem initialized
[    0.053395] usbcore: registered new interface driver usbfs
[    0.053419] usbcore: registered new interface driver hub
[    0.053440] usbcore: registered new device driver usb
[    0.053501] mc: Linux media interface: v0.10
[    0.053525] videodev: Linux video capture interface: v2.00
[    0.053559] pps_core: LinuxPPS API ver. 1 registered
[    0.053565] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.053578] PTP clock support registered
[    0.053764] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id:16
[    0.053829] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled.
[    0.053863] arm-scmi firmware:scmi: SCMI Protocol v2.0 'rockchip:' Firmware version 0x0
[    0.054173] Advanced Linux Sound Architecture Driver Initialized.
[    0.849695] clocksource: Switched to clocksource arch_sys_counter
[    0.849832] VFS: Disk quotas dquot_6.6.0
[    0.849858] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.856120] NET: Registered PF_INET protocol family
[    0.856250] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.859821] tcp_listen_portaddr_hash hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.859882] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.859920] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.860262] TCP bind hash table entries: 65536 (order: 10, 4194304 bytes, linear)
[    0.863877] TCP: Hash tables configured (established 65536 bind 65536)
[    0.864030] MPTCP token hash table entries: 8192 (order: 6, 393216 bytes, linear)
[    0.864146] UDP hash table entries: 4096 (order: 6, 393216 bytes, linear)
[    0.864307] UDP-Lite hash table entries: 4096 (order: 6, 393216 bytes, linear)
[    0.864531] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.864863] RPC: Registered named UNIX socket transport module.
[    0.864871] RPC: Registered udp transport module.
[    0.864877] RPC: Registered tcp transport module.
[    0.864882] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.865216] PCI: CLS 0 bytes, default 64
[    0.865332] Trying to unpack rootfs image as initramfs...
[    0.876590] hw perfevents: enabled with armv8_cortex_a55 PMU driver, 7 counters available
[    0.877001] hw perfevents: enabled with armv8_cortex_a76 PMU driver, 7 counters available
[    0.877341] kvm [1]: IPA Size Limit: 40 bits
[    0.877361] kvm [1]: GICv3: no GICV resource entry
[    0.877368] kvm [1]: disabling GICv2 emulation
[    0.877384] kvm [1]: GIC system register CPU interface enabled
[    0.877810] kvm [1]: vgic interrupt IRQ18
[    0.878216] kvm [1]: VHE mode initialized successfully
[    0.912989] Initialise system trusted keyrings
[    0.913141] workingset: timestamp_bits=46 max_order=21 bucket_order=0
[    0.916553] zbud: loaded
[    0.917606] NFS: Registering the id_resolver key type
[    0.917630] Key type id_resolver registered
[    0.917636] Key type id_legacy registered
[    0.917682] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.917690] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.917707] ntfs: driver 2.1.32 [Flags: R/W].
[    0.917792] ntfs3: Max link count 4000
[    0.917798] ntfs3: Enabled Linux POSIX ACLs support
[    0.917804] ntfs3: Read-only LZX/Xpress compression included
[    0.918353] NET: Registered PF_ALG protocol family
[    0.918364] Key type asymmetric registered
[    0.918370] Asymmetric key parser 'x509' registered
[    0.918396] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    0.918406] io scheduler mq-deadline registered
[    0.918412] io scheduler kyber registered
[    0.923826] rockchip-usbdp-phy fed80000.phy: missing vo-grf dt node
[    0.930821] dma-pl330 fea10000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.930832] dma-pl330 fea10000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
[    0.931689] dma-pl330 fea30000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.931698] dma-pl330 fea30000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
[    0.932560] dma-pl330 fed10000.dma-controller: Loaded driver for PL330 DMAC-241330
[    0.932569] dma-pl330 fed10000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
[    0.933383] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    0.934615] feb50000.serial: ttyS2 at MMIO 0xfeb50000 (irq = 38, base_baud = 1500000) is a 16550A
[    1.039260] Freeing initrd memory: 7648K
[    1.039663] printk: console [ttyS2] enabled
[    1.079010] brd: module loaded
[    1.082218] loop: module loaded
[    1.082698] zram: Added device: zram0
[    1.083158] lkdtm: No crash points registered, enable through debugfs
[    1.085488] rk8xx_spi_probe ++
[    1.085521] rk8xx_spi_probe 1
[    1.085794] rk8xx-spi spi2.0: chip id: 0x8060
[    1.088194] rk808-regulator rk808-regulator.1.auto: there is no dvs0 gpio
[    1.088799] rk808-regulator rk808-regulator.1.auto: there is no dvs1 gpio
[    1.093119] vdd_2v0_pldo_s3: Bringing 1975000uV into 2000000-2000000uV
[    1.094357] vcc_3v3_s3: Bringing 3275000uV into 3300000-3300000uV
[    1.095883] vcc_1v8_s3: Bringing 1775000uV into 1800000-1800000uV
[    1.097835] avdd_0v75_s0: Bringing 750000uV into 837500-837500uV
[    1.102322] rk8xx_spi_probe 2
[    1.103447] rk_gmac-dwmac fe1c0000.ethernet: IRQ eth_lpi not found
[    1.104339] rk_gmac-dwmac fe1c0000.ethernet: no regulator found
[    1.104858] rk_gmac-dwmac fe1c0000.ethernet: clock input or output? (output).
[    1.105484] rk_gmac-dwmac fe1c0000.ethernet: TX delay(0x3a).
[    1.105980] rk_gmac-dwmac fe1c0000.ethernet: RX delay(0x3e).
[    1.106527] rk_gmac-dwmac fe1c0000.ethernet: integrated PHY? (no).
[    1.107071] rk_gmac-dwmac fe1c0000.ethernet: cannot get clock mac_clk_rx
[    1.107659] rk_gmac-dwmac fe1c0000.ethernet: cannot get clock mac_clk_tx
[    1.108254] rk_gmac-dwmac fe1c0000.ethernet: cannot get clock clk_mac_speed
[    1.113867] rk_gmac-dwmac fe1c0000.ethernet: init for RGMII_RXID
[    1.114522] rk_gmac-dwmac fe1c0000.ethernet: User ID: 0x30, Synopsys ID: 0x51
[    1.115149] rk_gmac-dwmac fe1c0000.ethernet:         DWMAC4/5
[    1.115601] rk_gmac-dwmac fe1c0000.ethernet: DMA HW capability register supported
[    1.116257] rk_gmac-dwmac fe1c0000.ethernet: RX Checksum Offload Engine supported
[    1.116918] rk_gmac-dwmac fe1c0000.ethernet: TX Checksum insertion supported
[    1.117534] rk_gmac-dwmac fe1c0000.ethernet: Wake-Up On Lan supported
[    1.118120] rk_gmac-dwmac fe1c0000.ethernet: TSO supported
[    1.118601] rk_gmac-dwmac fe1c0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    1.119301] rk_gmac-dwmac fe1c0000.ethernet: Enabled L3L4 Flow TC (entries=2)
[    1.119931] rk_gmac-dwmac fe1c0000.ethernet: Enabled RFS Flow TC (entries=10)
[    1.120556] rk_gmac-dwmac fe1c0000.ethernet: TSO feature enabled
[    1.121082] rk_gmac-dwmac fe1c0000.ethernet: SPH feature enabled
[    1.121609] rk_gmac-dwmac fe1c0000.ethernet: Using 32 bits DMA width
[    1.262223] usbcore: registered new interface driver rndis_wlan
[    1.262758] usbcore: registered new interface driver asix
[    1.263255] usbcore: registered new interface driver cdc_ether
[    1.263776] usbcore: registered new interface driver rndis_host
[    1.264311] usbcore: registered new interface driver cdc_ncm
[    1.271508] phy phy-fd5d0000.syscon:usb2-phy@0.0: illegal mode
[    1.272024] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[    1.272512] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 1
[    1.273270] xhci-hcd xhci-hcd.3.auto: hcc params 0x0220fe64 hci version 0x110 quirks 0x0000000002010010
[    1.274109] xhci-hcd xhci-hcd.3.auto: irq 59, io mem 0xfc000000
[    1.274676] ehci-platform fc800000.usb: EHCI Host Controller
[    1.274684] ohci-platform fc840000.usb: Generic Platform OHCI controller
[    1.274698] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[    1.274703] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 2
[    1.274708] xhci-hcd xhci-hcd.3.auto: Host supports USB 3.0 SuperSpeed
[    1.274777] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    1.274782] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.274785] usb usb1: Product: xHCI Host Controller
[    1.274788] usb usb1: Manufacturer: Linux 6.1.0 xhci-hcd
[    1.274790] usb usb1: SerialNumber: xhci-hcd.3.auto
[    1.275067] hub 1-0:1.0: USB hub found
[    1.275080] hub 1-0:1.0: 1 port detected
[    1.275214] ehci-platform fc800000.usb: new USB bus registered, assigned bus number 3
[    1.275235] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.275279] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    1.275283] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.275286] usb usb2: Product: xHCI Host Controller
[    1.275289] usb usb2: Manufacturer: Linux 6.1.0 xhci-hcd
[    1.275291] usb usb2: SerialNumber: xhci-hcd.3.auto
[    1.275509] hub 2-0:1.0: USB hub found
[    1.275520] hub 2-0:1.0: 1 port detected
[    1.275678] usbcore: registered new interface driver cdc_acm
[    1.275680] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.275758] ohci-platform fc840000.usb: new USB bus registered, assigned bus number 4
[    1.275795] usbcore: registered new interface driver uas
[    1.275821] usbcore: registered new interface driver usb-storage
[    1.276017] usbcore: registered new interface driver usbtouchscreen
[    1.276278] ehci-platform fc800000.usb: irq 60, io mem 0xfc800000
[    1.276746] input: rk805 pwrkey as /devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk805-pwrkey.2.auto/input/input0
[    1.276955] ohci-platform fc840000.usb: irq 61, io mem 0xfc840000
[    1.276997] i2c_dev: i2c /dev entries driver
[    1.277382] usbcore: registered new interface driver uvcvideo
[    1.277829] rockchip-thermal fec00000.tsadc: Missing rockchip,grf property
[    1.292605] thermal thermal_zone1: power_allocator: sustainable_power will be estimated
[    1.293031] ehci-platform fc800000.usb: USB 2.0 started, EHCI 1.00
[    1.293370] thermal thermal_zone2: power_allocator: sustainable_power will be estimated
[    1.293963] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    1.294589] thermal thermal_zone3: power_allocator: sustainable_power will be estimated
[    1.295246] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.296001] thermal thermal_zone4: power_allocator: sustainable_power will be estimated
[    1.296571] usb usb3: Product: EHCI Host Controller
[    1.296574] usb usb3: Manufacturer: Linux 6.1.0 ehci_hcd
[    1.297330] thermal thermal_zone5: power_allocator: sustainable_power will be estimated
[    1.297691] usb usb3: SerialNumber: fc800000.usb
[    1.298216] thermal thermal_zone6: power_allocator: sustainable_power will be estimated
[    1.299077] hub 3-0:1.0: USB hub found
[    1.299805] Failed to initialize dvfs info cpu0
[    1.299959] hub 3-0:1.0: 1 port detected
[    1.300818] sdhci: Secure Digital Host Controller Interface driver
[    1.301599] sdhci: Copyright(c) Pierre Ossman
[    1.301981] Synopsys Designware Multimedia Card Interface Driver
[    1.302686] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.302841] dwmmc_rockchip fe2c0000.mmc: IDMAC supports 32-bit address mode.
[    1.303814] dwmmc_rockchip fe2c0000.mmc: Using internal DMA controller.
[    1.304391] dwmmc_rockchip fe2c0000.mmc: Version ID is 270a
[    1.304901] dwmmc_rockchip fe2c0000.mmc: DW MMC controller at irq 63,32 bit host data width,256 deep fifo
[    1.306026] ledtrig-cpu: registered to indicate activity on CPUs
[    1.306621] arm-scmi firmware:scmi: Failed. SCMI protocol 17 not active.
[    1.307226] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.307864] hid: raw HID events driver (C) Jiri Kosina
[    1.308524] usbcore: registered new interface driver usbhid
[    1.309014] usbhid: USB HID core driver
[    1.309616] optee: probing for conduit method.
[    1.310024] optee: revision 3.13 (4542e1ef)
[    1.310378] optee: initialized driver
[    1.311693] usbcore: registered new interface driver snd-usb-audio
[    1.313723] Initializing XFRM netlink socket
[    1.314115] NET: Registered PF_PACKET protocol family
[    1.314847] Key type dns_resolver registered
[    1.315817] registered taskstats version 1
[    1.316189] Loading compiled-in X.509 certificates
[    1.317190] zswap: loaded using pool lzo/zbud
[    1.318764] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[    1.337247] mmc0: SDHCI controller on fe2e0000.mmc [fe2e0000.mmc] using ADMA
[    1.340549] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.01
[    1.341285] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.341919] usb usb4: Product: Generic Platform OHCI controller
[    1.342439] usb usb4: Manufacturer: Linux 6.1.0 ohci_hcd
[    1.342905] usb usb4: SerialNumber: fc840000.usb
[    1.343749] hub 4-0:1.0: USB hub found
[    1.351430] rockchip-dw-pcie fe180000.pcie: host bridge /pcie@fe180000 ranges:
[    1.352402] rockchip-dw-pcie fe180000.pcie:       IO 0x00f3100000..0x00f31fffff -> 0x00f3100000
[    1.353218] rockchip-dw-pcie fe180000.pcie:      MEM 0x00f3200000..0x00f3ffffff -> 0x00f3200000
[    1.354004] rockchip-dw-pcie fe180000.pcie:      MEM 0x09c0000000..0x09ffffffff -> 0x09c0000000
[    1.354944] rockchip-dw-pcie fe180000.pcie: iATU unroll: enabled
[    1.355486] rockchip-dw-pcie fe180000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    1.365220] mmc_host mmc1: Bus speed (slot 0) = 49500000Hz (slot req 50000000Hz, actual 49500000HZ div = 0)
[    1.366139] mmc1: new high speed SDHC card at address 0001
[    1.367142] mmcblk1: mmc1:0001 SD16G 7.45 GiB 
[    1.372959] Alternate GPT is invalid, using primary GPT.
[    1.373466]  mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9
[    1.445504] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[    1.446872] mmcblk0: mmc0:0001 A3A551 28.9 GiB 
[    1.451240]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9
[    1.454081] mmcblk0boot0: mmc0:0001 A3A551 4.00 MiB 
[    1.455868] mmcblk0boot1: mmc0:0001 A3A551 4.00 MiB 
[    1.457689] mmcblk0rpmb: mmc0:0001 A3A551 16.0 MiB, chardev (238:0)
[    1.563095] rockchip-dw-pcie fe180000.pcie: PCIe Gen.2 x1 link up
[    1.563809] rockchip-dw-pcie fe180000.pcie: PCI host bridge to bus 0003:30
[    1.564429] pci_bus 0003:30: root bus resource [bus 30-3f]
[    1.564928] pci_bus 0003:30: root bus resource [io  0x0000-0xfffff] (bus address [0xf3100000-0xf31fffff])
[    1.565782] pci_bus 0003:30: root bus resource [mem 0xf3200000-0xf3ffffff]
[    1.566422] pci_bus 0003:30: root bus resource [mem 0x9c0000000-0x9ffffffff]
[    1.567081] pci 0003:30:00.0: [1d87:3588] type 01 class 0x060400
[    1.567643] pci 0003:30:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    1.568307] pci 0003:30:00.0: supports D1 D2
[    1.568696] pci 0003:30:00.0: PME# supported from D0 D1 D3hot
[    1.572679] pci 0003:30:00.0: Primary bus is hard wired to 0
[    1.573205] pci 0003:30:00.0: bridge configuration invalid ([bus 01-ff]), reconfiguring
[    1.574093] pci 0003:31:00.0: [10ec:8125] type 00 class 0x020000
[    1.574689] pci 0003:31:00.0: reg 0x10: initial BAR value 0x00000000 invalid
[    1.575320] pci 0003:31:00.0: reg 0x10: [io  size 0x0100]
[    1.575867] pci 0003:31:00.0: reg 0x18: [mem 0x00000000-0x0000ffff 64bit]
[    1.576530] pci 0003:31:00.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit]
[    1.577512] pci 0003:31:00.0: supports D1 D2
[    1.577901] pci 0003:31:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    1.586467] pci_bus 0003:31: busn_res: [bus 31-3f] end is updated to 31
[    1.587081] pci 0003:30:00.0: BAR 8: assigned [mem 0xf3200000-0xf32fffff]
[    1.587692] pci 0003:30:00.0: BAR 6: assigned [mem 0xf3300000-0xf330ffff pref]
[    1.588343] pci 0003:30:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    1.588897] pci 0003:31:00.0: BAR 2: assigned [mem 0xf3200000-0xf320ffff 64bit]
[    1.589586] pci 0003:31:00.0: BAR 4: assigned [mem 0xf3210000-0xf3213fff 64bit]
[    1.590294] pci 0003:31:00.0: BAR 0: assigned [io  0x1000-0x10ff]
[    1.590854] pci 0003:30:00.0: PCI bridge to [bus 31]
[    1.591303] pci 0003:30:00.0:   bridge window [io  0x1000-0x1fff]
[    1.591852] pci 0003:30:00.0:   bridge window [mem 0xf3200000-0xf32fffff]
[    1.595391] pcieport 0003:30:00.0: PME: Signaling with IRQ 75
[    1.596190] r8169 0003:31:00.0: enabling device (0000 -> 0003)
[    1.610283] r8169 0003:31:00.0: can't read MAC address, setting random one
[    1.617913] r8169 0003:31:00.0 eth1: RTL8125B, 92:3b:07:1a:7c:25, XID 641, IRQ 76
[    1.618593] r8169 0003:31:00.0 eth1: jumbo features [frames: 9194 bytes, tx checksumming: ko]
[    1.619652] rockchip_pcie_probe ++
[    1.619817] rockchip_pcie_probe 1
[    1.620591] rockchip_pcie_probe 2
[    1.620797] rockchip_pcie_probe 3
[    1.621144] rockchip-dw-pcie a41000000.pcie: host bridge /pcie@fe190000 ranges:
[    1.622122] rockchip-dw-pcie a41000000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[    1.622922] rockchip-dw-pcie a41000000.pcie:      MEM 0x00f4200000..0x00f4ffffff -> 0x00f4200000
[    1.623748] rockchip-dw-pcie a41000000.pcie:      MEM 0x0a00000000..0x0a3fffffff -> 0x0a00000000
[    1.624663] rockchip-dw-pcie a41000000.pcie: iATU unroll: enabled
[    1.625213] rockchip-dw-pcie a41000000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    1.829819] rockchip-dw-pcie a41000000.pcie: PCIe Gen.2 x1 link up
[    1.830524] rockchip-dw-pcie a41000000.pcie: PCI host bridge to bus 0004:40
[    1.831152] pci_bus 0004:40: root bus resource [bus 40-4f]
[    1.831649] pci_bus 0004:40: root bus resource [io  0x100000-0x1fffff] (bus address [0xf4100000-0xf41fffff])
[    1.832525] pci_bus 0004:40: root bus resource [mem 0xf4200000-0xf4ffffff]
[    1.833167] pci_bus 0004:40: root bus resource [mem 0xa00000000-0xa3fffffff]
[    1.833820] pci 0004:40:00.0: [1d87:3588] type 01 class 0x060400
[    1.834381] pci 0004:40:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    1.835041] pci 0004:40:00.0: supports D1 D2
[    1.835429] pci 0004:40:00.0: PME# supported from D0 D1 D3hot
[    1.839267] pci 0004:40:00.0: Primary bus is hard wired to 0
[    1.839794] pci 0004:40:00.0: bridge configuration invalid ([bus 01-ff]), reconfiguring
[    1.840680] pci 0004:41:00.0: [10ec:8125] type 00 class 0x020000
[    1.841275] pci 0004:41:00.0: reg 0x10: [io  0x0000-0x00ff]
[    1.841837] pci 0004:41:00.0: reg 0x18: [mem 0x00000000-0x0000ffff 64bit]
[    1.842484] pci 0004:41:00.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit]
[    1.843483] pci 0004:41:00.0: supports D1 D2
[    1.843872] pci 0004:41:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    1.853148] pci_bus 0004:41: busn_res: [bus 41-4f] end is updated to 41
[    1.853761] pci 0004:40:00.0: BAR 8: assigned [mem 0xf4200000-0xf42fffff]
[    1.854374] pci 0004:40:00.0: BAR 6: assigned [mem 0xf4300000-0xf430ffff pref]
[    1.855025] pci 0004:40:00.0: BAR 7: assigned [io  0x100000-0x100fff]
[    1.855609] pci 0004:41:00.0: BAR 2: assigned [mem 0xf4200000-0xf420ffff 64bit]
[    1.856297] pci 0004:41:00.0: BAR 4: assigned [mem 0xf4210000-0xf4213fff 64bit]
[    1.857002] pci 0004:41:00.0: BAR 0: assigned [io  0x100000-0x1000ff]
[    1.857591] pci 0004:40:00.0: PCI bridge to [bus 41]
[    1.858041] pci 0004:40:00.0:   bridge window [io  0x100000-0x100fff]
[    1.858621] pci 0004:40:00.0:   bridge window [mem 0xf4200000-0xf42fffff]
[    1.862014] pcieport 0004:40:00.0: PME: Signaling with IRQ 87
[    1.862801] r8169 0004:41:00.0: enabling device (0000 -> 0003)
[    1.876881] r8169 0004:41:00.0: can't read MAC address, setting random one
[    1.884172] r8169 0004:41:00.0 eth2: RTL8125B, e2:16:b3:4c:18:c6, XID 641, IRQ 88
[    1.884852] r8169 0004:41:00.0 eth2: jumbo features [frames: 9194 bytes, tx checksumming: ko]

I am however struggaling to get the OpenWRT build tree to generate a rockchip compatible image

Edit: I know 6.1 for openwrt is still waithing branching for the next version, but i have been working off of the MR from @Ansuel (https://github.com/openwrt/openwrt/pull/11011)

6 Likes

Which device tree did you use?
Since it is a WP you could create a rebased PR with the device tree to this PR as a parent.
if you use the correct nomenclature, it should automatically become visibly obsolete, should nanopi-r6s support be merged mainline.

But those logs look pretty good...

the video not working part is "not a big issue" I guess, the GPU is pretty new and support is very broken at this point, with OpenWRT making no real use of it anyways.

As the NanoPi R6S is using RealTek RTL8125B NICs it would be nice if you can test while including the patch series I have suggested for inclusion in mainline Linux. You can download the whole series here.

1 Like

Sry for the late reply, this might be out of date anyways, but.
I have no full built chain setup and not the time/muse to do so.
If you can provide an image testing would be no issue.

I tried @mj82 OpenWRT build and it works pretty good so far (no apparent CPU frequency scaling yet, but hey).

What device do you have ?

I have a build with CPU scaling working pretty well, I can share the image.

Was planning on pushing the tree this weekend

An R6S, last tested the 6.3 images by @mj82 which at that time seem to have just hotplug/idle, no scaling...

Perhaps you are not using the latest 6.3 images, CPU frequency scaling is working for me

 -----------------------------------------------------
 OpenWrt SNAPSHOT, r0-c6c72fa
 -----------------------------------------------------
root@openwrt:/# lscpu
Architecture:           aarch64
  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 8
  On-line CPU(s) list:  0-7
Vendor ID:              ARM
  Model name:           Cortex-A55
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r2p0
    CPU(s) scaling MHz: 56%
    CPU max MHz:        1800.0000
    CPU min MHz:        408.0000
    BogoMIPS:           48.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  Model name:           Cortex-A76
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r4p0
    CPU(s) scaling MHz: 50%
    CPU max MHz:        2400.0000
    CPU min MHz:        408.0000
    BogoMIPS:           48.00
    Flags:              fp asimd evtstrm aes
1 Like

yeah as said.. was a while ago.

Got 1000/250 today and my Turris Omnia ain't cutting that... so I got to upgrade even if the official OpenWRT support is still a while away :slight_smile:

The bad thing of rockchip is that they are slow to upstream support for new hardware, not yet support in official ATF for rk3588 means that will delay support for OpenWrt.

Yeah I saw that OpenWRT now seems to switch to 6.1 for the next jump from 5.15....

I am fine with running enthusiast builds for the time being and appreciate all the work people put into it.

@Apache14 I think you can add support as a source only using the same strategy used with Raspberry Pi Zero 2, where user need manually download the the blobs to build an image https://github.com/openwrt/openwrt/commit/e9f9cd14cc71826957877999fd063dd080de4751

oot@BeehiveCore:~# cat /sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state
 
408000 0
600000 0
816000 21934711
1008000 16041
1200000 11056
1416000 6106
1608000 1888
1800000 1820
2016000 4589
2208000 15718
root@BeehiveCore:~# 
root@BeehiveCore:~# 
root@BeehiveCore:~# cat /sys/devices/system/cpu/cpu1/cpufreq/stats/time_in_state 
408000 0
600000 0
816000 0
1008000 21959103
1200000 5809
1416000 6261
1608000 1515
1800000 19777

Seems OK on this 6.1 build