Adding Support for Verizon CR1000A

What do you mean the nss build is not supported? They are using nss_dp in the thread I linked above

It's not official, I guess.

1 Like

yes that's it... the official openwrt snapshot does have nss-dp so use instead the official repo ...note I am using both and neither are buggy but if you want to get this official/supported suggest to use the openwrt master repo to develop a PR for this device

Small update. I have the kernel running/starting with all major things EXCEPT Ethernet ports. For some reason the OEM dts options for switch don't work in openwrt. I'll dig in a bit more before asking for a broader help.

I've set up the dev cycle from dts to kernel in router to be less than 3 min. So if anyone experienced is interesting in helping here we can run like an interactive discord channel or something.

2 Likes

ok. made some progress here: enabled dp5 + dp6 dts nodes and now we have them available

root@OpenWrt:/# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: miireg: <> mtu 0 qdisc noop state DOWN qlen 1000
    link/generic 
3: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether ae:ce:19:b4:7e:ab brd ff:ff:ff:ff:ff:ff
4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether a6:55:0a:36:a3:f5 brd ff:ff:ff:ff:ff:ff
root@OpenWrt:/# 


Resolved a lot of kernel log warning & enabled PCI-E and other things too with no issues.
Can anyone look at the logs and tell me what would be the next logical step?

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.104 (techsage@tech) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.2.0 r22463-0d62d6c010) 12.2.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Sat Apr 8 16:41:46 2023
[    0.000000] Machine model: Verizon CR1000A
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    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-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x00000000510fffff]
[    0.000000]   node   0: [mem 0x0000000051100000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 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.0
[    0.000000] percpu: Embedded 17 pages/cpu s30360 r8192 d31080 u69632
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: console=ttyMSM0,115200n8 vmalloc=900M cnss2.bdf_pci0=0xa4 root=PARTUUID=58c07d06-405e-c6a7-9c0f-a2fdf0ecb70f gpt rootwait
[    0.000000] Unknown kernel command line parameters "vmalloc=900M", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1910624K/2097152K available (7424K kernel code, 842K rwdata, 2044K rodata, 7552K init, 271K bss, 186528K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479]
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000114] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000130] pid_max: default: 32768 minimum: 301
[    0.000287] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000307] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001903] rcu: Hierarchical SRCU implementation.
[    0.002078] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.002579] smp: Bringing up secondary CPUs ...
[    0.003170] Detected VIPT I-cache on CPU1
[    0.003232] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.003845] Detected VIPT I-cache on CPU2
[    0.003885] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.004458] Detected VIPT I-cache on CPU3
[    0.004495] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.004562] smp: Brought up 1 node, 4 CPUs
[    0.004589] SMP: Total of 4 processors activated.
[    0.004597] CPU features: detected: 32-bit EL0 Support
[    0.004604] CPU features: detected: CRC32 instructions
[    0.004652] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.004661] CPU: All CPU(s) started at EL1
[    0.004682] alternatives: patching kernel code
[    0.011988] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.012022] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.012167] pinctrl core: initialized pinctrl subsystem
[    0.013165] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.013653] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.013712] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.013765] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.014096] thermal_sys: Registered thermal governor 'step_wise'
[    0.015520] cpuidle: using governor menu
[    0.015750] ASID allocator initialised with 65536 entries
[    0.069940] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.071552] OF: /keys/reset: could not get #gpio-cells for /smp2p-wcss/master-kernel
[    0.071595] OF: /keys/wps: could not get #gpio-cells for /smp2p-wcss/master-kernel
[    0.078272] SCSI subsystem initialized
[    0.078446] usbcore: registered new interface driver usbfs
[    0.078492] usbcore: registered new interface driver hub
[    0.078534] usbcore: registered new device driver usb
[    0.078917] qcom_scm: convention: smc arm 64
[    0.080091] clocksource: Switched to clocksource arch_sys_counter
[    0.080736] NET: Registered PF_INET protocol family
[    0.080897] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.082270] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.082313] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.082330] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.082491] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.082778] TCP: Hash tables configured (established 16384 bind 16384)
[    0.082867] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.082937] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.083131] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.083166] PCI: CLS 0 bytes, default 64
[    0.102960] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.106698] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.106726] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.109471] qcom-qmp-phy 58000.phy: supply vdda-phy not found, using dummy regulator
[    0.109652] qcom-qmp-phy 58000.phy: supply vdda-pll not found, using dummy regulator
[    0.110766] qcom-qmp-phy 58000.phy: Registered Qcom-QMP phy
[    0.111056] qcom-qmp-phy 78000.phy: supply vdda-phy not found, using dummy regulator
[    0.111188] qcom-qmp-phy 78000.phy: supply vdda-pll not found, using dummy regulator
[    0.112124] qcom-qmp-phy 78000.phy: Registered Qcom-QMP phy
[    0.113253] qcom-qmp-phy 84000.phy: Registered Qcom-QMP phy
[    0.114286] qcom-qmp-phy 8e000.phy: Registered Qcom-QMP phy
[    0.115018] qcom-qusb2-phy 59000.phy: supply vdda-pll not found, using dummy regulator
[    0.115153] qcom-qusb2-phy 59000.phy: supply vdda-phy-dpdm not found, using dummy regulator
[    0.115323] qcom-qusb2-phy 59000.phy: Registered Qcom-QUSB2 phy
[    0.115500] qcom-qusb2-phy 79000.phy: supply vdda-pll not found, using dummy regulator
[    0.115606] qcom-qusb2-phy 79000.phy: supply vdda-phy-dpdm not found, using dummy regulator
[    0.115745] qcom-qusb2-phy 79000.phy: Registered Qcom-QUSB2 phy
[    0.117546] qcom-pcie 10000000.pci: host bridge /soc/pci@10000000 ranges:
[    0.117609] qcom-pcie 10000000.pci:       IO 0x0010200000..0x001020ffff -> 0x0010200000
[    0.117638] qcom-pcie 10000000.pci:      MEM 0x0010220000..0x001fffffff -> 0x0010220000
[    0.176864] qcom-pcie 10000000.pci: Read DBI address failed
[    0.291719] qcom-pcie 10000000.pci: iATU unroll: disabled
[    0.291750] qcom-pcie 10000000.pci: Detected iATU regions: 32 outbound, 8 inbound
[    1.290185] qcom-pcie 10000000.pci: Phy link never came up
[    1.290366] qcom-pcie 10000000.pci: PCI host bridge to bus 0001:00
[    1.290383] pci_bus 0001:00: root bus resource [bus 00-ff]
[    1.290399] pci_bus 0001:00: root bus resource [io  0x0000-0xffff] (bus address [0x10200000-0x1020ffff])
[    1.290412] pci_bus 0001:00: root bus resource [mem 0x10220000-0x1fffffff]
[    1.290454] pci 0001:00:00.0: [17cb:0302] type 01 class 0x060400
[    1.290480] pci 0001:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    1.290556] pci 0001:00:00.0: PME# supported from D0 D3hot D3cold
[    1.295766] pci 0001:00:00.0: BAR 0: assigned [mem 0x10220000-0x10220fff]
[    1.295793] pci 0001:00:00.0: PCI bridge to [bus 01-ff]
[    1.297640] pcieport 0001:00:00.0: PME: Signaling with IRQ 84
[    1.297952] pcieport 0001:00:00.0: AER: enabled with IRQ 84
[    1.298645] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges:
[    1.298702] qcom-pcie 20000000.pci:       IO 0x0020200000..0x002020ffff -> 0x0020200000
[    1.298731] qcom-pcie 20000000.pci:      MEM 0x0020220000..0x002fffffff -> 0x0020220000
[    1.421614] qcom-pcie 20000000.pci: iATU unroll: enabled
[    1.421629] qcom-pcie 20000000.pci: Detected iATU regions: 8 outbound, 8 inbound
[    1.521692] qcom-pcie 20000000.pci: Link up
[    1.521828] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00
[    1.521843] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.521860] pci_bus 0000:00: root bus resource [io  0x10000-0x1ffff] (bus address [0x20200000-0x2020ffff])
[    1.521874] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff]
[    1.521922] pci 0000:00:00.0: [17cb:1002] type 01 class 0x060400
[    1.521946] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    1.522017] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.524921] pci 0000:01:00.0: [17cb:1104] type 00 class 0x028000
[    1.525023] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    1.525533] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    1.525675] pci 0000:01:00.0: 7.876 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link)
[    1.528306] pci 0000:00:00.0: BAR 8: assigned [mem 0x20400000-0x205fffff]
[    1.528327] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref]
[    1.528341] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff]
[    1.528356] pci 0000:00:00.0: BAR 7: assigned [io  0x10000-0x10fff]
[    1.528372] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit]
[    1.528427] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.528440] pci 0000:00:00.0:   bridge window [io  0x10000-0x10fff]
[    1.528452] pci 0000:00:00.0:   bridge window [mem 0x20400000-0x205fffff]
[    1.528464] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref]
[    1.529807] pcieport 0000:00:00.0: PME: Signaling with IRQ 85
[    1.530143] pcieport 0000:00:00.0: AER: enabled with IRQ 85
[    1.533060] bam-dma-engine 704000.dma-controller: num-channels unspecified in dt
[    1.533083] bam-dma-engine 704000.dma-controller: num-ees unspecified in dt
[    1.536456] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    1.536926] msm_serial 78b3000.serial: msm_serial: detected port #0
[    1.536958] msm_serial 78b3000.serial: uartclk = 3686400
[    1.536998] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 24, base_baud = 230400) is a MSM
[    1.537025] msm_serial: console setup on port #0
[    2.556113] printk: console [ttyMSM0] enabled
[    2.561219] msm_serial: driver initialized
[    2.568940] loop: module loaded
[    2.569797] spmi spmi-0: PMIC arbiter version v2 (0x20010000)
[    2.575001] s1: supplied by regulator-dummy
[    2.578131] s2: supplied by regulator-dummy
[    2.582131] vdd_s3: supplied by regulator-dummy
[    2.586438] vdd_s4: supplied by regulator-dummy
[    2.590952] s5: supplied by regulator-dummy
[    2.595327] l1: supplied by regulator-dummy
[    2.599474] l2: supplied by regulator-dummy
[    2.603660] l3: supplied by regulator-dummy
[    2.607828] l4: supplied by regulator-dummy
[    2.611998] l5: supplied by regulator-dummy
[    2.616143] l6: supplied by regulator-dummy
[    2.620341] l7: supplied by regulator-dummy
[    2.624487] l8: supplied by regulator-dummy
[    2.628649] l9: supplied by regulator-dummy
[    2.632950] l11: supplied by regulator-dummy
[    2.636987] l12: supplied by regulator-dummy
[    2.641512] l13: supplied by regulator-dummy
[    2.646625] i2c_dev: i2c /dev entries driver
[    2.653483] sdhci: Secure Digital Host Controller Interface driver
[    2.654103] sdhci: Copyright(c) Pierre Ossman
[    2.660117] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.668354] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    2.672539] NET: Registered PF_INET6 protocol family
[    2.676763] Segment Routing with IPv6
[    2.681148] In-situ OAM (IOAM) with IPv6
[    2.684722] NET: Registered PF_PACKET protocol family
[    2.688687] 8021q: 802.1Q VLAN Support v1.8
[    2.696902] mmc0: SDHCI controller on 7824900.mmc [7824900.mmc] using ADMA 64-bit
[    2.708862] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    2.709149] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    2.715014] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    2.721593] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    2.729247] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    2.736760] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    2.745898] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    2.752846] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 824000 uV
[    2.762835] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 888000 uV
[    2.772638] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 992000 uV
[    2.782493] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 720, quot_offset[ 7]=   0
[    2.792257] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 950, quot_offset[ 7]= 230
[    2.803108] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1058, quot_offset[ 7]= 105
[    2.814046] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1243, quot_offset[ 7]= 185
[    2.825118] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    2.827531] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz
[�[    2.856504] Freeing unused kernel memory: 7552K
[    2.926234] mmc0: new HS400 MMC card at address 0001
[    2.926683] mmcblk0: mmc0:0001 004GA0 3.69 GiB 
[    2.931470] GPT:Primary header thinks Alt. header is not at the end of the disk.
[    2.934517] GPT:7634943 != 7733247
[    2.940113] Run /init as init process
[    2.942156] GPT:Alternate GPT header not at the end of the disk.
[    2.949097] GPT:7634943 != 7733247
[    2.949099] GPT: Use GNU Parted to correct GPT errors.
[    2.958412]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29
[    2.965036] mmcblk0boot0: mmc0:0001 004GA0 2.00 MiB 
[    2.975979] mmcblk0boot1: mmc0:0001 004GA0 2.00 MiB 
[    2.980524] mmcblk0rpmb: mmc0:0001 004GA0 512 KiB, chardev (247:0)
[    3.077709] init: Console is alive
[    3.077838] init: - watchdog -
[    3.084497] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.087425] gpio-keys keys: prop pinctrl-0 index 0 invalid phandle
[    3.104520] ssdk_switch_device_num_init[1335]:INFO:ess-switch dts node number: 1
[    3.104617] ssdk_dt_get_switch_node[1124]:INFO:ess-switch DT exist!
[    3.111092] ssdk_dt_parse_access_mode[999]:INFO:switch_access_mode: local bus
[    3.116979] ssdk_dt_parse_access_mode[1012]:INFO:switchreg_base_addr: 0x3a000000
[    3.124282] ssdk_dt_parse_access_mode[1013]:INFO:switchreg_size: 0x1000000
[    3.131742] ssdk_dt_parse_mac_mode[327]:INFO:mac mode = 0x0
[    3.138417] ssdk_dt_parse_mac_mode[336]:INFO:mac mode1 = 0xe
[    3.143891] ssdk_dt_parse_mac_mode[345]:INFO:mac mode2 = 0xd
[    3.149790] ssdk_dt_parse_phy_info[634]:INFO:qcom,port_phyinfo DT doesn't exist!
[    3.155447] ssdk_dt_parse_mdio[777]:INFO:mdio DT exist!
[    3.162815] ssdk_dt_parse_port_bmp[899]:INFO:port_bmp doesn't exist!
[    3.167788] ssdk_dt_parse_uniphy[364]:INFO:ess-uniphy DT exist!
[    3.174619] ssdk_plat_init[1692]:INFO:ssdk_plat_init start
[    3.301242] ssdk_gcc_clock_init[1275]:INFO:SSDK gcc clock init successfully!
[    3.302045] regi_init[3953]:INFO:Initializing HPPE!!
[    3.540071] ssdk_ppe_reset_init[1535]:INFO:ppe reset successfully!
[    3.543670] qca_hppe_portctrl_hw_init[126]:INFO:Hawkeye PPE port initializing
[    4.262111] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 1 need not to configure mux and mac type
[    4.262146] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 2 need not to configure mux and mac type
[    4.270327] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 3 need not to configure mux and mac type
[    4.279426] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 4 need not to configure mux and mac type
[    4.288547] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 5 need not to configure mux and mac type
[    4.297662] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 6 need not to configure mux and mac type
[    4.306814] ssdk_switch_register[2017]:INFO:Chip version 0x1500
[    4.315896] qca_link_polling_select[1487]:INFO:link-polling-required node does not exist
[    4.321529] ssdk_switch_register[2043]:INFO:polling is selected
[    4.329862] regi_init[3957]:INFO:Initializing HPPE Done!!
[    4.335586] ssdk_genl_init[211]:INFO:ssdk genl family register success.
[    4.341062] regi_init[4020]:INFO:qca-ssdk module init succeeded!
[    4.349529] EDMA ver 1 hw init
[    4.353964] EDMA HW Reset completed succesfully
[    4.356618] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
[    4.361025] RxDesc:1 (15-15) RxFill:1 (7-7)
[    4.366492] GMAC5(ffffff80027fa8c0) Invalid MAC@ - using ae:ce:19:b4:7e:ab
[    4.370996] eth0: Registered netdev eth0(qcom-id:5)
[    4.377468] GMAC6(ffffff80027fb8c0) Invalid MAC@ - using a6:55:0a:36:a3:f5
[    4.382607] eth1: Registered netdev eth1(qcom-id:6)
[    4.389138] **********************************************************
[    4.393847] * NSS Data Plane driver
[    4.400424] **********************************************************
[    4.416170] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    4.416223] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    4.420710] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe65 hci version 0x110 quirks 0x0000000002010010
[    4.428141] xhci-hcd xhci-hcd.1.auto: irq 91, io mem 0x08a00000
[    4.437565] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    4.443391] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    4.448944] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    4.456861] hub 1-0:1.0: USB hub found
[    4.463211] hub 1-0:1.0: 1 port detected
[    4.467048] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.471199] hub 2-0:1.0: USB hub found
[    4.478987] hub 2-0:1.0: 1 port detected
[    4.482835] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    4.486620] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 3
[    4.492119] xhci-hcd xhci-hcd.2.auto: hcc params 0x0220fe65 hci version 0x110 quirks 0x0000000002010010
[    4.499498] xhci-hcd xhci-hcd.2.auto: irq 92, io mem 0x08c00000
[    4.508924] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    4.514749] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 4
[    4.520302] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
[    4.528147] hub 3-0:1.0: USB hub found
[    4.534468] hub 3-0:1.0: 1 port detected
[    4.538513] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.542742] hub 4-0:1.0: USB hub found
[    4.550368] hub 4-0:1.0: 1 port detected
[    4.554876] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.562611] init: - preinit -
[    4.620571] random: jshn: uninitialized urandom read (4 bytes read)
[    4.635641] random: jshn: uninitialized urandom read (4 bytes read)
[    4.644130] random: jshn: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.707083] procd: - early -
[    6.707180] procd: - watchdog -
[    7.225917] procd: - watchdog -
[    7.226144] procd: - ubus -
[    7.230594] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.277802] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.277966] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.284102] procd: - init -
Please press Enter to activate this console.
[    7.375657] urngd: v1.0.2 started.
[    7.389454] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.389953] random: crng init done
[    7.394912] random: 25 urandom warning(s) missed due to ratelimiting
[    7.421069] Loading modules backported from Linux version v6.1-rc8-0-g76dcd734eca2
[    7.421107] Backport generated by backports.git v5.15.81-1-41-g02e352527db5
[    7.430813] NET: Registered PF_QIPCRTR protocol family
[    7.454568] PPP generic driver version 2.4.2
[    7.455131] NET: Registered PF_PPPOX protocol family
[    7.464266] ath11k c000000.wifi: ipq8074 hw2.0
[    7.464303] ath11k c000000.wifi: FW memory mode: 0
[    7.467876] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
[    7.472773] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
[    7.830824] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
[    7.832447] ath11k c000000.wifi: qmi ignore invalid mem req type 3
[    7.837865] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
[    7.843308] ath11k c000000.wifi: fw_version 0x250a04a5 fw_build_timestamp 2021-12-20 07:09 fw_build_id WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[    7.852231] kmodloader: done loading kernel modules from /etc/modules.d/*
[    7.903983] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=Verizon-CR1000A from ath11k/IPQ8074/hw2.0/board-2.bin
[    7.904047] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255 from ath11k/IPQ8074/hw2.0/board-2.bin
[    7.917812] ath11k c000000.wifi: failed to fetch board.bin from IPQ8074/hw2.0
[    7.930434] ath11k c000000.wifi: qmi failed to fetch board file: -12
[    7.937367] ath11k c000000.wifi: failed to load board data file: -12
[   33.120105] l11: disabling

Awesome work! Were you able to ping over eth0/1 ?

@a_guy im responding to your pm here in the thread so maybe it is useful to others too.

Firstly make sure you are able execute this in the terminal and get valid output.

. /lib/functions.sh
find_mmc_part "0:HLOS"

If you dont a correct partition response, then likely you are missing some packages for mounting the mmc properly. Make sure these kmods are built in by default;

e2fsprogs kmod-fs-ext4 losetup

If you are able to get the HLOS partition by find_mmc_part, you are pretty much good to flash a permanent build to the device using the openwrt gui.

You will need to edit
target/linux/ipq807x/base-files/lib/upgrade/platform.sh

At this point openwrt should be able to flash to HLOS from a sysupgrade image using the gui without troubles.

Provided you have already fixed uboot env tools and fw_printenv works and gives good output, you can move to the next step.

Next step is to configure uboot after flashing (in platform.sh)

Because this router uses secureboot and by default will run the bootcmd "bootipq", you will need to patch this out in platform.sh after the line mmc_do_upgrade "$1", you need to be doing some extra steps.

  1. The bootcmd env variable needs to be set to "bootm" instead of "bootipq", because bootipq does all that decryption and other junk we dont want or need.
  2. You need to set the kernel bootargs. This may or may not be necessary, because you can use the DTS to set bootargs or bootargs-append. I dont know what the best practice is here. The purpose here is to tell the kernel where to find rootfs.

ie.

rootpart=$(find_mmc_part "rootfs")
fw_setenv set_custom_bootargs "setenv bootargs console=ttyMSM0,115200n8 root=$rootpart rootwait"
  1. We want uboot to copy the entire kernel from 0:HLOS to memory, because we cant boot directly from the mmc, it has to be loaded into memory first.

For this purpose we need to use the uboot cmd "mmc read". mmc_read uses block numbers as input. To find out what inputs to use here, run these cmds;

mmcblk_hlos=$(echo "$hlospart" | sed -e "s/^\/dev\///")
hlos_start=$(cat /sys/class/block/$mmcblk_hlos/start)
hlos_size=$(cat /sys/class/block/$mmcblk_hlos/size)

That will tell us the start block and the size of the hlos block, which will give an integer result. Convert that to hex and you should get something like this
hlos_start = 0x8A22
hlos_size = 0x4000

(above is made up but yours should be similar)
Now we can add a uboot env command that reads 0:HLOS into memory address 44000000
fw_setenv read_hlos_emmc "mmc read 44000000 0x8A22 0x4000"

and then finally we set the bootcmd, which is the last thing uboot will run

fw_setenv setup_and_boot "run set_custom_bootargs;run read_hlos_emmc; bootm 44000000"
fw_setenv bootcmd "run setup_and_boot"

Now, when the router reboots, at the end of uboot initiatlization, it will run "bootcmd", which will trigger it to do the steps I outlined and then do bootm.

With that being said, theres a lot of place where you can make mistakes here so my advice is to OMIT the very last fw_setenv (fw_setenv bootcmd "run setup_and_boot"). Because you could easily brick your router. You can do every step in the chain without risking a brick, just dont change bootcmd. The standard behaviour of this router when it runs "bootipq" is to check 0:HLOS against its backup partition. If there is a difference, it will fix 0:HLOS and revert the work you did so there is no chance for bricking.

Another note, while fw_setenv command sets env variables permanently when run from openwrt, "setenv" inside uboot commands are just set for the current session. (reverts on reboot)

Let me reiterate, you are good to test all of the above EXCEPT dont ever set fw_setenv bootcmd without knowing it will work.. let me test that part

1 Like

Just to test if openwrt flash via the gui works, you can try it (with the sysupgrade image) and then reboot into uboot, interrupt uboot, and manually try mmc read the kernel into memory from 0:HLOS and manually issue bootm command before trying to put extra logic in platform.sh. That is the safest for you without any risk of bricking.

Once you are able to boot the kernel from memory like that, you can start looking into adding the uboot logic to platform.sh

Thanks for detailed response!

I made some progress today up to

. /lib/functions.sh
find_mmc_part "0:HLOS"

working.

However it's too early for permanent flash I guess, as I'm stuck with MAC address assignment: both dp5 and dp6 interfaces have in dts

local-mac-address = [000000000000];

and during boot have the same issue :

[    4.346533] GMAC5(ffffff80037298c0) Invalid MAC@ - using 56:d5:9e:1b:cd:50
[    4.351143] eth0: Registered netdev eth0(qcom-id:5)
[    4.357488] GMAC6(ffffff800372a8c0) Invalid MAC@ - using 9e:2c:e6:5d:27:d1
[    4.362733] eth1: Registered netdev eth1(qcom-id:6)

Note that the same problem exists in OEM boot log too ( but it still works, even if loaded via bootm ? doe uboot still patch device tree?)

router's interface sees pings from my PC but 'errors' and drops them

root@OpenWrt:/# ifconfig
...
eth1      Link encap:Ethernet  HWaddr 82:1F:BC:5D:12:60  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::801f:bcff:fe5d:1260/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:194 dropped:194 overruns:0 frame:194
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:51226 (50.0 KiB)  TX bytes:0 (0.0 B)
          Base address:0x7000 

I'm trying https://openwrt.org/docs/guide-developer/mac.address but would appreciate community's help here.

Hey @robimarko, do you have any idea why our ethernet isnt working on this router? Basically the ethernet comes up and when pinged from lan, the "error/dropped" count increases. Do you have any insight into what can cause this behaviour?

Thanks!

Share the code you're using and the stock dts. When we can have a look what's possibility missing.

But I'd guess it has to do with the phys. According to the first post, the device has aquantia 10G and realtek 2.5G phys.
The aquantia phys need a firmware to run (preferred way to load the firmware is via u-boot, look in the QNAP 301w thread)
And as far as the realtek phys goes, they could work if there is an upstream driver available in openwrt

Looks like actually it's a realtek RTL9301 switch, AFAIK there is support for that in OpenWrt, but then we need to figure out, how is that connected to the SOC.

That set-up is pretty uncommon on the IPQ807x platform.

The OEM dts is here (Openwt 18.x):

or here (OpenWrt 19.x?)

latest WiP dts is here
https://github.com/tsg2k2/openwrt/blob/master/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8072-cr1000a.dts

i tried to run

IPQ807x# aq_load_fw 8

MMC read: dev # 0, block # 1106254, count 1024 ... 1024 blocks read: OK
bad magic on ETHPHYFW partition

----------

find_mmc_part "0:ETHPHYFW"
/dev/mmcblk0p25

Guess we need to write AQ firmware there as per

But this is going beyond initramfs and I'd like @meisterlone to try it first:)

I also suspect that this could only enable dp6_syn and RTL9301 (dp5_syn) would require it's own handling

Well, those link poll and PHY mdio addr properties are useless in GMAC nodes, you gotta pass the PHY via phandle, also I have no idea if RTL9301 is supported at all

I guess it should look like this:

it didn't help, unfortunately. behavior is still the same: all pings go to errors/drops

uboot initializes it properly (tftp works). can we assume that AQ firmware is already loaded then?

Also, I see this line in OEM and OpenWrt's 301w logs but not in mine

[   27.631069] aquantia_phy_api_ops_init[2187]:INFO:qca probe aquantia phy driver succeeded!

@spol-eff it seems like we may need your help with RE here. Most likely bootipq in uboot is loading the ethernet firmware from somewhere. 0:ETHPHYFW doesnt seem to contain the firmware binary in a format that aq_load_fw will accept

I doubt the FW is loaded by default, you will probably find that stock FW is loading the FW from userspace, if you want to do it from U-boot then it needs to be wrapped and flashed into the 0:ETHPHYFW partition.

Can you post the whole bootlog?

How does a tftp work in uboot without firmware?

Do you need a uboot log + OEM kernel log ?

uboot:

root@OpenWrt:/# reboot
root@OpenWrt:/# [ 4600.630
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3.1-00163
S - IMAGE_VARIANT_STRING=HAASANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e3
B -       203 - PBL, Start
B -      2741 - bootable_media_detect_entry, Start
B -     35331 - bootable_media_detect_success, Start
B -     35335 - elf_loader_entry, Start
B -     36689 - auth_hash_seg_entry, Start
B -     74764 - auth_hash_seg_exit, Start
B -     89434 - elf_segs_hash_verify_entry, Start
B -    152067 - PBL, End
B -    246928 - SBL1, Start
B -    325404 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    335164 - pm_device_init, Start
B -    523776 - PM_SET_VAL:Skip
D -    186690 - pm_device_init, Delta
B -    526186 - pm_driver_init, Start
D -      5215 - pm_driver_init, Delta
B -    532316 - clock_init, Start
D -      2165 - clock_init, Delta
B -    536464 - boot_flash_init, Start
D -      8235 - boot_flash_init, Delta
B -    548481 - boot_config_data_table_init, Start
D -      1037 - boot_config_data_table_init, Delta - (575 Bytes)
B -    556106 - Boot Setting :  0x00000619
B -    559949 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:18
B -    566873 - sbl1_ddr_set_params, Start
B -    570685 - CPR configuration: 0x30c
B -    574132 - cpr_init, Start
B -    576907 - Rail:0 Mode: 5 Voltage: 808000
B -    582031 - CL CPR settled at 760000mV
B -    584929 - Rail:1 Mode: 5 Voltage: 880000
B -    589107 - Rail:1 Mode: 7 Voltage: 904000
D -     16500 - cpr_init, Delta
B -    596000 - Pre_DDR_clock_init, Start
B -    599996 - Pre_DDR_clock_init, End
B -    603381 - DDR Type : PCDDR4
B -    610396 - do ddr sanity test, Start
D -      1067 - do ddr sanity test, Delta
B -    613843 - DDR: Start of HAL DDR Boot Training
B -    618570 - DDR: End of HAL DDR Boot Training
B -    624243 - DDR: Checksum to be stored on flash is 1720384210
B -    634674 - Image Load, Start
D -    345779 - QSEE Image Loaded, Delta - (1381328 Bytes)
B -    980544 - Image Load, Start
D -       335 - SEC Image Loaded, Delta - (0 Bytes)
B -    988078 - Image Load, Start
D -    288347 - DEVCFG Image Loaded, Delta - (32548 Bytes)
B -   1276516 - Image Load, Start
D -    293105 - RPM Image Loaded, Delta - (93060 Bytes)
B -   1569652 - Image Load, Start
D -    310215 - APPSBL Image Loaded, Delta - (556778 Bytes)
B -   1879959 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -   1885784 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -   1892159 - SBL1, End
D -   1647549 - SBL1, Delta
S - Flash Throughput, 33521 KB/s  (2064961 Bytes,  61602 us)
S - DDR Frequency, 600 MHz
S - Core 0 Frequency, 1651 MHz


U-Boot 2016.01-v00.04 (May 06 2022 - 14:40:18 +0800)

DRAM:  smem ram ptable found: ver: 1 len: 4
2 GiB
NAND:  Could not find nand-flash in device tree
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
0 MiB
MMC:   <NULL>: 0 (eMMC)
PCI Link Intialized
In:    serial@78B3000
Out:   serial@78B3000
Err:   serial@78B3000
Console Enable
machid: 8010012
eth0 MAC Address from ART is not valid
eth1 MAC Address from ART is not valid
eth2 MAC Address from ART is not valid
eth3 MAC Address from ART is not valid
eth4 MAC Address from ART is not valid
eth5 MAC Address from ART is not valid
<DBG> autoboot_command
Hit any key to stop autoboot:  0 

MMC read: dev # 0, block # 57378, count 40960 ... 40960 blocks read: OK
Verifying... fail
This is the invalid kernel
bootipq - bootipq from flash device


Net:   MAC0 addr:0:3:7f:ba:db:ad
PHY ID1: 0x31c3
PHY ID2: 0x1c13
EDMA ver 1 hw init
Num rings - TxDesc:1 (0-0) TxCmpl:1 (7-7)
RxDesc:1 (15-15) RxFill:1 (7-7)
ipq807x_edma_alloc_rings: successfull
ipq807x_edma_setup_ring_resources: successfull
ipq807x_edma_configure_rings: successfull
ipq807x_edma_hw_init: successfull
eth0
IPQ807x# 


oem boot:

https://transfer.sh/cbwsBv/oemboot.txt

my current:

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.104 (techsage@tech) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.2.0 r22463-0d62d6c010) 12.2.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Sat Apr 8 23:36:00 2023
[    0.000000] Machine model: Verizon CR1000A
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    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-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x00000000510fffff]
[    0.000000]   node   0: [mem 0x0000000051100000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 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.0
[    0.000000] percpu: Embedded 17 pages/cpu s30360 r8192 d31080 u69632
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: console=ttyMSM0,115200n8 vmalloc=900M cnss2.bdf_pci0=0xa4 root=PARTUUID=58c07d06-405e-c6a7-9c0f-a2fdf0ecb70f gpt rootwait
[    0.000000] Unknown kernel command line parameters "vmalloc=900M", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1910624K/2097152K available (7424K kernel code, 842K rwdata, 2044K rodata, 7552K init, 271K bss, 186528K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479]
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000114] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000130] pid_max: default: 32768 minimum: 301
[    0.000289] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000309] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001892] rcu: Hierarchical SRCU implementation.
[    0.002069] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.002567] smp: Bringing up secondary CPUs ...
[    0.003154] Detected VIPT I-cache on CPU1
[    0.003217] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.003831] Detected VIPT I-cache on CPU2
[    0.003870] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.004447] Detected VIPT I-cache on CPU3
[    0.004483] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.004549] smp: Brought up 1 node, 4 CPUs
[    0.004576] SMP: Total of 4 processors activated.
[    0.004584] CPU features: detected: 32-bit EL0 Support
[    0.004591] CPU features: detected: CRC32 instructions
[    0.004644] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.004654] CPU: All CPU(s) started at EL1
[    0.004675] alternatives: patching kernel code
[    0.011965] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.011999] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.012144] pinctrl core: initialized pinctrl subsystem
[    0.013135] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.013624] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.013684] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.013739] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.014070] thermal_sys: Registered thermal governor 'step_wise'
[    0.015494] cpuidle: using governor menu
[    0.015727] ASID allocator initialised with 65536 entries
[    0.069954] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.071556] OF: /keys/reset: could not get #gpio-cells for /smp2p-wcss/master-kernel
[    0.071599] OF: /keys/wps: could not get #gpio-cells for /smp2p-wcss/master-kernel
[    0.078269] SCSI subsystem initialized
[    0.078444] usbcore: registered new interface driver usbfs
[    0.078490] usbcore: registered new interface driver hub
[    0.078531] usbcore: registered new device driver usb
[    0.078917] qcom_scm: convention: smc arm 64
[    0.080089] clocksource: Switched to clocksource arch_sys_counter
[    0.080736] NET: Registered PF_INET protocol family
[    0.080896] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.082270] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.082314] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.082330] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.082491] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.082779] TCP: Hash tables configured (established 16384 bind 16384)
[    0.082868] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.082938] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.083134] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.083171] PCI: CLS 0 bytes, default 64
[    0.102895] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.106621] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.106652] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.109359] qcom-qmp-phy 58000.phy: supply vdda-phy not found, using dummy regulator
[    0.109561] qcom-qmp-phy 58000.phy: supply vdda-pll not found, using dummy regulator
[    0.110666] qcom-qmp-phy 58000.phy: Registered Qcom-QMP phy
[    0.110958] qcom-qmp-phy 78000.phy: supply vdda-phy not found, using dummy regulator
[    0.111108] qcom-qmp-phy 78000.phy: supply vdda-pll not found, using dummy regulator
[    0.112039] qcom-qmp-phy 78000.phy: Registered Qcom-QMP phy
[    0.113158] qcom-qmp-phy 84000.phy: Registered Qcom-QMP phy
[    0.114195] qcom-qmp-phy 8e000.phy: Registered Qcom-QMP phy
[    0.114932] qcom-qusb2-phy 59000.phy: supply vdda-pll not found, using dummy regulator
[    0.115063] qcom-qusb2-phy 59000.phy: supply vdda-phy-dpdm not found, using dummy regulator
[    0.115224] qcom-qusb2-phy 59000.phy: Registered Qcom-QUSB2 phy
[    0.115400] qcom-qusb2-phy 79000.phy: supply vdda-pll not found, using dummy regulator
[    0.115513] qcom-qusb2-phy 79000.phy: supply vdda-phy-dpdm not found, using dummy regulator
[    0.115654] qcom-qusb2-phy 79000.phy: Registered Qcom-QUSB2 phy
[    0.117459] qcom-pcie 10000000.pci: host bridge /soc/pci@10000000 ranges:
[    0.117522] qcom-pcie 10000000.pci:       IO 0x0010200000..0x001020ffff -> 0x0010200000
[    0.117551] qcom-pcie 10000000.pci:      MEM 0x0010220000..0x001fffffff -> 0x0010220000
[    0.176761] qcom-pcie 10000000.pci: Read DBI address failed
[    0.291701] qcom-pcie 10000000.pci: iATU unroll: disabled
[    0.291728] qcom-pcie 10000000.pci: Detected iATU regions: 32 outbound, 8 inbound
[    1.290180] qcom-pcie 10000000.pci: Phy link never came up
[    1.290359] qcom-pcie 10000000.pci: PCI host bridge to bus 0001:00
[    1.290375] pci_bus 0001:00: root bus resource [bus 00-ff]
[    1.290391] pci_bus 0001:00: root bus resource [io  0x0000-0xffff] (bus address [0x10200000-0x1020ffff])
[    1.290405] pci_bus 0001:00: root bus resource [mem 0x10220000-0x1fffffff]
[    1.290447] pci 0001:00:00.0: [17cb:0302] type 01 class 0x060400
[    1.290473] pci 0001:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    1.290549] pci 0001:00:00.0: PME# supported from D0 D3hot D3cold
[    1.295749] pci 0001:00:00.0: BAR 0: assigned [mem 0x10220000-0x10220fff]
[    1.295777] pci 0001:00:00.0: PCI bridge to [bus 01-ff]
[    1.297628] pcieport 0001:00:00.0: PME: Signaling with IRQ 84
[    1.297932] pcieport 0001:00:00.0: AER: enabled with IRQ 84
[    1.298611] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges:
[    1.298666] qcom-pcie 20000000.pci:       IO 0x0020200000..0x002020ffff -> 0x0020200000
[    1.298694] qcom-pcie 20000000.pci:      MEM 0x0020220000..0x002fffffff -> 0x0020220000
[    1.421621] qcom-pcie 20000000.pci: iATU unroll: enabled
[    1.421638] qcom-pcie 20000000.pci: Detected iATU regions: 8 outbound, 8 inbound
[    1.521700] qcom-pcie 20000000.pci: Link up
[    1.521840] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00
[    1.521853] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.521870] pci_bus 0000:00: root bus resource [io  0x10000-0x1ffff] (bus address [0x20200000-0x2020ffff])
[    1.521883] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff]
[    1.521922] pci 0000:00:00.0: [17cb:1002] type 01 class 0x060400
[    1.521947] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    1.522016] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.524922] pci 0000:01:00.0: [17cb:1104] type 00 class 0x028000
[    1.525023] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    1.525536] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    1.525684] pci 0000:01:00.0: 7.876 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link)
[    1.528315] pci 0000:00:00.0: BAR 8: assigned [mem 0x20400000-0x205fffff]
[    1.528338] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref]
[    1.528352] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff]
[    1.528367] pci 0000:00:00.0: BAR 7: assigned [io  0x10000-0x10fff]
[    1.528382] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit]
[    1.528437] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.528449] pci 0000:00:00.0:   bridge window [io  0x10000-0x10fff]
[    1.528462] pci 0000:00:00.0:   bridge window [mem 0x20400000-0x205fffff]
[    1.528474] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref]
[    1.529800] pcieport 0000:00:00.0: PME: Signaling with IRQ 85
[    1.530114] pcieport 0000:00:00.0: AER: enabled with IRQ 85
[    1.532996] bam-dma-engine 704000.dma-controller: num-channels unspecified in dt
[    1.533018] bam-dma-engine 704000.dma-controller: num-ees unspecified in dt
[    1.536328] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    1.536803] msm_serial 78b3000.serial: msm_serial: detected port #0
[    1.536836] msm_serial 78b3000.serial: uartclk = 3686400
[    1.536876] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 24, base_baud = 230400) is a MSM
[    1.536904] msm_serial: console setup on port #0
[    2.555991] printk: console [ttyMSM0] enabled
[    2.561102] msm_serial: driver initialized
[    2.568842] loop: module loaded
[    2.569692] spmi spmi-0: PMIC arbiter version v2 (0x20010000)
[    2.574867] s1: supplied by regulator-dummy
[    2.578011] s2: supplied by regulator-dummy
[    2.582031] vdd_s3: supplied by regulator-dummy
[    2.586296] vdd_s4: supplied by regulator-dummy
[    2.590827] s5: supplied by regulator-dummy
[    2.595207] l1: supplied by regulator-dummy
[    2.599355] l2: supplied by regulator-dummy
[    2.603539] l3: supplied by regulator-dummy
[    2.607717] l4: supplied by regulator-dummy
[    2.611868] l5: supplied by regulator-dummy
[    2.616026] l6: supplied by regulator-dummy
[    2.620222] l7: supplied by regulator-dummy
[    2.624362] l8: supplied by regulator-dummy
[    2.628543] l9: supplied by regulator-dummy
[    2.632848] l11: supplied by regulator-dummy
[    2.636862] l12: supplied by regulator-dummy
[    2.641388] l13: supplied by regulator-dummy
[    2.646507] i2c_dev: i2c /dev entries driver
[    2.653347] sdhci: Secure Digital Host Controller Interface driver
[    2.653982] sdhci: Copyright(c) Pierre Ossman
[    2.659965] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.668331] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    2.672461] NET: Registered PF_INET6 protocol family
[    2.676662] Segment Routing with IPv6
[    2.681026] In-situ OAM (IOAM) with IPv6
[    2.684591] NET: Registered PF_PACKET protocol family
[    2.688563] 8021q: 802.1Q VLAN Support v1.8
[    2.696877] mmc0: SDHCI controller on 7824900.mmc [7824900.mmc] using ADMA 64-bit
[    2.708706] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    2.709000] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    2.714855] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    2.721437] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    2.729091] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    2.736602] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    2.745746] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    2.752691] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 824000 uV
[    2.762678] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 888000 uV
[    2.772481] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 992000 uV
[    2.782335] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 720, quot_offset[ 7]=   0
[    2.792102] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 950, quot_offset[ 7]= 230
[    2.802952] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1058, quot_offset[ 7]= 105
[    2.813889] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1243, quot_offset[ 7]= 185
[    2.824957] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    2.827435] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz
[�[    2.856385] Freeing unused kernel memory: 7552K
[    2.910153] Run /init as init process
[    2.926273] mmc0: new HS400 MMC card at address 0001
[    2.926768] mmcblk0: mmc0:0001 004GA0 3.69 GiB 
[    2.931653] GPT:Primary header thinks Alt. header is not at the end of the disk.
[    2.934563] GPT:7634943 != 7733247
[    2.942250] GPT:Alternate GPT header not at the end of the disk.
[    2.945411] GPT:7634943 != 7733247
[    2.951594] GPT: Use GNU Parted to correct GPT errors.
[    2.954826]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29
[    2.961526] mmcblk0boot0: mmc0:0001 004GA0 2.00 MiB 
[    2.972449] mmcblk0boot1: mmc0:0001 004GA0 2.00 MiB 
[    2.976864] mmcblk0rpmb: mmc0:0001 004GA0 512 KiB, chardev (247:0)
[    3.042871] init: Console is alive
[    3.043009] init: - watchdog -
[    3.049641] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.052644] gpio-keys keys: prop pinctrl-0 index 0 invalid phandle
[    3.069615] ssdk_switch_device_num_init[1335]:INFO:ess-switch dts node number: 1
[    3.069720] ssdk_dt_get_switch_node[1124]:INFO:ess-switch DT exist!
[    3.076197] ssdk_dt_parse_access_mode[999]:INFO:switch_access_mode: local bus
[    3.082084] ssdk_dt_parse_access_mode[1012]:INFO:switchreg_base_addr: 0x3a000000
[    3.089368] ssdk_dt_parse_access_mode[1013]:INFO:switchreg_size: 0x1000000
[    3.096837] ssdk_dt_parse_mac_mode[327]:INFO:mac mode = 0x0
[    3.103517] ssdk_dt_parse_mac_mode[336]:INFO:mac mode1 = 0xe
[    3.108982] ssdk_dt_parse_mac_mode[345]:INFO:mac mode2 = 0xd
[    3.114890] ssdk_dt_parse_phy_info[634]:INFO:qcom,port_phyinfo DT doesn't exist!
[    3.120541] ssdk_dt_parse_mdio[777]:INFO:mdio DT exist!
[    3.127907] ssdk_dt_parse_port_bmp[899]:INFO:port_bmp doesn't exist!
[    3.132886] ssdk_dt_parse_uniphy[364]:INFO:ess-uniphy DT exist!
[    3.139707] ssdk_plat_init[1692]:INFO:ssdk_plat_init start
[    3.261665] ssdk_gcc_clock_init[1275]:INFO:SSDK gcc clock init successfully!
[    3.262673] regi_init[3953]:INFO:Initializing HPPE!!
[    3.500067] ssdk_ppe_reset_init[1535]:INFO:ppe reset successfully!
[    3.503669] qca_hppe_portctrl_hw_init[126]:INFO:Hawkeye PPE port initializing
[    4.222108] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 1 need not to configure mux and mac type
[    4.222144] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 2 need not to configure mux and mac type
[    4.230324] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 3 need not to configure mux and mac type
[    4.239424] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 4 need not to configure mux and mac type
[    4.248546] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 5 need not to configure mux and mac type
[    4.257659] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 6 need not to configure mux and mac type
[    4.266810] ssdk_switch_register[2017]:INFO:Chip version 0x1500
[    4.275893] qca_link_polling_select[1487]:INFO:link-polling-required node does not exist
[    4.281527] ssdk_switch_register[2043]:INFO:polling is selected
[    4.289859] regi_init[3957]:INFO:Initializing HPPE Done!!
[    4.295580] ssdk_genl_init[211]:INFO:ssdk genl family register success.
[    4.301061] regi_init[4020]:INFO:qca-ssdk module init succeeded!
[    4.309605] EDMA ver 1 hw init
[    4.313953] EDMA HW Reset completed succesfully
[    4.316614] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
[    4.321025] RxDesc:1 (15-15) RxFill:1 (7-7)
[    4.326515] GMAC5(ffffff80053a18c0) Invalid MAC@ - using 5a:32:e5:80:7e:11
[    4.331016] eth0: Registered netdev eth0(qcom-id:5)
[    4.337473] GMAC6(ffffff80053a28c0) Invalid MAC@ - using ea:cc:24:de:4d:64
[    4.342617] eth1: Registered netdev eth1(qcom-id:6)
[    4.349141] **********************************************************
[    4.353844] * NSS Data Plane driver
[    4.360422] **********************************************************
[    4.376264] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    4.376317] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    4.380806] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe65 hci version 0x110 quirks 0x0000000002010010
[    4.388238] xhci-hcd xhci-hcd.1.auto: irq 91, io mem 0x08a00000
[    4.397660] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    4.403486] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    4.409038] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    4.416979] hub 1-0:1.0: USB hub found
[    4.423347] hub 1-0:1.0: 1 port detected
[    4.427180] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.431290] hub 2-0:1.0: USB hub found
[    4.439085] hub 2-0:1.0: 1 port detected
[    4.442935] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    4.446722] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 3
[    4.452160] xhci-hcd xhci-hcd.2.auto: hcc params 0x0220fe65 hci version 0x110 quirks 0x0000000002010010
[    4.459593] xhci-hcd xhci-hcd.2.auto: irq 92, io mem 0x08c00000
[    4.469008] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    4.474839] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 4
[    4.480398] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
[    4.488249] hub 3-0:1.0: USB hub found
[    4.494812] hub 3-0:1.0: 1 port detected
[    4.498569] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.502631] hub 4-0:1.0: USB hub found
[    4.510442] hub 4-0:1.0: 1 port detected
[    4.515379] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.527455] init: - preinit -
[    4.577656] random: jshn: uninitialized urandom read (4 bytes read)
[    4.592056] random: jshn: uninitialized urandom read (4 bytes read)
[    4.599217] random: jshn: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.661690] procd: - early -
[    6.661767] procd: - watchdog -
[    7.178375] procd: - watchdog -
[    7.178613] procd: - ubus -
[    7.182876] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.230228] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.230437] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.236734] procd: - init -
Please press Enter to activate this console.
[    7.323065] urngd: v1.0.2 started.
[    7.337636] random: crng init done
[    7.337666] random: 25 urandom warning(s) missed due to ratelimiting
[    7.342434] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.377297] Loading modules backported from Linux version v6.1-rc8-0-g76dcd734eca2
[    7.377335] Backport generated by backports.git v5.15.81-1-41-g02e352527db5
[    7.386949] NET: Registered PF_QIPCRTR protocol family
[    7.410633] PPP generic driver version 2.4.2
[    7.411235] NET: Registered PF_PPPOX protocol family
[    7.419054] ath11k c000000.wifi: ipq8074 hw2.0
[    7.419086] ath11k c000000.wifi: FW memory mode: 0
[    7.423423] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
[    7.428007] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
[    7.786976] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
[    7.788518] ath11k c000000.wifi: qmi ignore invalid mem req type 3
[    7.794025] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
[    7.799444] ath11k c000000.wifi: fw_version 0x250a04a5 fw_build_timestamp 2021-12-20 07:09 fw_build_id WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[    7.808402] kmodloader: done loading kernel modules from /etc/modules.d/*
[    7.854038] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=Verizon-CR1000A from ath11k/IPQ8074/hw2.0/board-2.bin
[    7.854103] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255 from ath11k/IPQ8074/hw2.0/board-2.bin
[    7.867898] ath11k c000000.wifi: failed to fetch board.bin from IPQ8074/hw2.0
[    7.880410] ath11k c000000.wifi: qmi failed to fetch board file: -12
[    7.887423] ath11k c000000.wifi: failed to load board data file: -12


On another note: for RTL9301: do we need to create DTS like here? switch as a port in master switch ?