IPQ5018: Support for Linksys MX2000 Atlas 6 & MX5500 Atlas 6 Pro

hi all,

Got my hands on a Linksys Atlas 6 MX2000 and connected it to serial.

Pinout: GND -empty- RX - TX -empty (starting from GND label)

While upstream kernel support for IPQ5018 is being worked on, I thought I pasted the output of the bootlog and other info below for potential support in the future:

bootlog:

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.1-00066
S - IMAGE_VARIANT_STRING=MAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002c5
B -       127 - PBL, Start
B -      1562 - bootable_media_detect_entry, Start
B -      3843 - bootable_media_detect_success, Start
B -      3846 - elf_loader_entry, Start
B -      9247 - auth_hash_seg_entry, Start
B -      9606 - auth_hash_seg_exit, Start
B -    105678 - elf_segs_hash_verify_entry, Start
B -    175269 - PBL, End
B -    144112 - SBL1, Start
B -    205478 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    213774 - clock_init, Start
D -      7350 - clock_init, Delta
B -    221308 - boot_flash_init, Start
D -     13816 - boot_flash_init, Delta
B -    235185 - boot_config_data_table_init, Start
D -      5337 - boot_config_data_table_init, Delta - (575 Bytes)
B -    243603 - Boot Setting :  0x00030618
B -    249795 - CDT version:2,Platform ID:8,Major ID:4,Minor ID:0,Subtype:4
B -    256688 - sbl1_ddr_set_params, Start
B -    258304 - Pre_DDR_clock_init, Start
B -    263977 - Pre_DDR_clock_init, End
B -    906185 - do ddr sanity test, Start
D -        61 - do ddr sanity test, Delta
B -    910852 - Image Load, Start
D -    256352 - QSEE Image Loaded, Delta - (578956 Bytes)
B -   1168028 - Image Load, Start
D -     15067 - DEVCFG Image Loaded, Delta - (13592 Bytes)
B -   1183156 - Image Load, Start
D -    186416 - APPSBL Image Loaded, Delta - (423002 Bytes)
B -   1369633 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -   1376099 - SBL1, End
D -   1234671 - SBL1, Delta
S - Flash Throughput, 2321 KB/s  (1016125 Bytes,  437671 us)
S - DDR Frequency, 800 MHz
S - Core 0 Frequency, 800 MHz


U-Boot 2016.01 (Jun 07 2022 - 15:28:36 +0800)

CBT U-Boot ver: 4.0.04  ([IPQ5018].[SPF11.4].[CSU2])

DRAM:  smem ram ptable found: ver: 1 len: 4
512 MiB
NAND:  QPIC controller support serial NAND
ID = 3a6c2
Vendor = c2
Device = a6
Serial Nand Device Found With ID : 0xc2 0xa6
Serial NAND device Manufacturer:MX35UF2GE4AD
Device Size:256 MiB, Page size:2048, Spare Size:128, ECC:8-bit
qpic_nand: changing oobsize to 80 from 128 bytes
SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   sdhci: Node Not found, skipping initialization

PCI Link Intialized
In:    serial@78AF000
Out:   serial@78AF000
Err:   serial@78AF000
machid: 8040004
eth0 MAC Address from ART is not valid
eth1 MAC Address from ART is not valid

Updating boot_count ... done

Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x58c0000, size 0x800000
 8388608 bytes read: OK
## Loading kernel from FIT Image at 44000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM Linksys Linux-4.4.60
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000e4
     Data Size:    4463221 Bytes = 4.3 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x41208000
     Entry Point:  0x41208000
     Hash algo:    crc32
     Hash value:   79ec59ee
     Hash algo:    sha1
     Hash value:   956d145f9540e6a3c94e4f83e29ca7db13685e54
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 44000000 ...
   Using 'config@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  ARM Linksys Rhodes device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x44441c8c
     Data Size:    60994 Bytes = 59.6 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   1175fa89
     Hash algo:    sha1
     Hash value:   034b08e6defc18d1fcc0d2d1b195a21aba2cfdc0
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x44441c8c
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3ee000, end 4a3ffe41 ... OK
Using machid 0x8040004 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.60 (root@build-vm) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r35193) ) #1 SMP PREEMPT Thu Feb 17 12:29:26 PST 2022
[    0.000000] CPU: ARMv7 Processor [51af8014] revision 4 (ARMv7), cr=10c0383d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Qualcomm Technologies, Inc. IPQ5018/AP-MP03.5-C1
[    0.000000] Ignoring memory range 0x40000000 - 0x41000000
[    0.000000] Reserved memory: not enough space all defined regions.
[    0.000000] Reserved memory: not enough space all defined regions.
[    0.000000] Reserved memory: OVERLAP DETECTED!
[    0.000000] q6_code_data@4B000000 (0x4b000000--0x4b060000) overlaps with q6_mem_regions@4B000000 (0x4b000000--0x50400000)
[    0.000000] Reserved memory: OVERLAP DETECTED!
[    0.000000] q6_mem_regions@4B000000 (0x4b000000--0x50400000) overlaps with q6_ipq5018_data@4C400000 (0x4c400000--0x4d200000)
[    0.000000] Memory policy: Data cache writealloc
[    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] PERCPU: Embedded 11 pages/cpu @9eb5e000 s15168 r8192 d21696 u45056
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 103076
[    0.000000] Kernel command line: init=/sbin/init rootfstype=squashfs ubi.mtd=alt_rootfs root=mtd:squashfs rootwait swiotlb=1 coherent_pool=2M
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 401236K/416768K available (6349K kernel code, 405K rwdata, 2100K rodata, 1024K init, 458K bss, 15532K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x9f800000 - 0xff800000   (1536 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x9f000000   ( 496 MB)
[    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
[    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
[    0.000000]       .text : 0x80208000 - 0x80b4068c   (9442 kB)
[    0.000000]       .init : 0x80c00000 - 0x80d00000   (1024 kB)
[    0.000000]       .data : 0x80d00000 - 0x80d65594   ( 406 kB)
[    0.000000]        .bss : 0x80d68000 - 0x80dda8b8   ( 459 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] GICv2m: Node v2m: range[0xb00a000:0xb00affc], SPI[448:480]
[    0.000000] GICv2m: Node v2m: range[0xb00b000:0xb00bffc], SPI[480:512]
[    0.000000] Architected cp15 timer(s) running at 24.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000019] Switching to timer-based delay loop, resolution 41ns
[    0.000558] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000574] pid_max: default: 32768 minimum: 301
[    0.000688] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000700] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001385] Initializing cgroup subsys io
[    0.001411] Initializing cgroup subsys memory
[    0.001441] Initializing cgroup subsys devices
[    0.001455] Initializing cgroup subsys freezer
[    0.001466] Initializing cgroup subsys net_cls
[    0.001478] Initializing cgroup subsys pids
[    0.001520] CPU: Testing write buffer coherency: ok
[    0.001994] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002065] Setting up static identity map for 0x41300000 - 0x41300058
[    0.053415] MSM Memory Dump base table set up
[    0.053446] MSM Memory Dump apps data table set up
[    0.090460] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.090593] Brought up 2 CPUs
[    0.090613] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.090620] CPU: All CPU(s) started in SVC mode.
[    0.106246] VFP support v0.3: implementor 51 architecture 3 part 40 variant 3 rev 4
[    0.106633] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.106672] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.107208] pinctrl core: initialized pinctrl subsystem
[    0.108526] NET: Registered protocol family 16
[    0.109944] DMA: preallocated 2048 KiB pool for atomic coherent allocations
[    0.140286] cpuidle: using governor ladder
[    0.170311] cpuidle: using governor menu
[    0.170618] NET: Registered protocol family 42
[    0.175632] qcom,gcc-ipq5018 1800000.gcc: Registered ipq5018 GCC clocks provider
[    0.180996] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.182493] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.195173] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.195189] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.197044] CPU: IPQ5018, SoC Version: 1.1
[    0.198979] IPC logging disabled
[    0.198990] IPC logging disabled
[    0.198995] IPC logging disabled
[    0.199000] IPC logging disabled
[    0.199004] IPC logging disabled
[    0.199278] sps:sps is ready.
[    0.232803] pps_core: LinuxPPS API ver. 1 registered
[    0.232819] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.232850] PTP clock support registered
[    0.234979] Advanced Linux Sound Architecture Driver Initialized.
[    0.236012] clocksource: Switched to clocksource arch_sys_counter
[    0.238790] NET: Registered protocol family 2
[    0.239704] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.239761] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.239837] TCP: Hash tables configured (established 4096 bind 4096)
[    0.239897] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.239923] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.240156] NET: Registered protocol family 1
[    0.241538] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    0.250896] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.250921] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.256898] Key type asymmetric registered
[    0.256923] Asymmetric key parser 'x509' registered
[    0.256978] io scheduler noop registered
[    0.256993] io scheduler deadline registered (default)
[    0.258884] ipq5018-pinctrl 1000000.pinctrl: function 'NA' not supported
[    0.258900] ipq5018-pinctrl 1000000.pinctrl: invalid function NA in map table
[    0.266225] NET: Registered protocol family 27
[    0.266240] IPC_RTR: ipc_router_create_log_ctx: IPC Logging disabled
[    0.267753] TZ Log : Will warn on Access Violation, as paniconaccessviolation is not set
[    0.268322] bt_driver 1943008.bt: bt_parse_ipc
[    0.268379] bt_driver 1943008.bt: bt_parse_mem
[    0.268427] bt_driver 1943008.bt: bt_parse_dt operating in secure mode
[    0.269681] 58000.qcom,msm-eud: ttyEUD0 at MMIO 0x0 (irq = 154, base_baud = 0) is a EUD UART
[    0.271249] Registered Sucessfully
[    0.271911] msm_serial 78af000.seri
                                      [    1.186687] 0x000000280000-0x000000300000 : "0:APPSBLENV"
[    1.206678] 0x000000300000-0x000000440000 : "0:APPSBL"
[    1.226611] 0x000000440000-0x000000540000 : "0:ART"
[    1.246634] 0x000000540000-0x0000005c0000 : "0:TRAINING"
[    1.266648] 0x0000005c0000-0x000000640000 : "u_env"
[    1.286642] 0x000000640000-0x000000680000 : "s_env"
[    1.306668] 0x000000680000-0x0000006c0000 : "devinfo"
[    1.308168] 0x0000006c0000-0x0000058c0000 : "kernel"
[    1.416689] 0x000000ec0000-0x0000058c0000 : "rootfs"
[    1.516683] mtd: device 13 (rootfs) set to be root filesystem
[    1.516987] mtdsplit: no squashfs found in "rootfs"
[    1.521423] 0x0000058c0000-0x00000aac0000 : "alt_kernel"
[    1.617652] 0x0000060c0000-0x00000aac0000 : "alt_rootfs"
[    1.700384] 0x00000aac0000-0x00000acc0000 : "sysdiag"
[    1.716653] 0x00000acc0000-0x00000f0c0000 : "syscfg"
[    1.807323] libphy: Fixed MDIO Bus: probed
[    2.026055] qca-mdio 88000.mdio: Could not find phy-reset-gpio
[    2.026236] libphy: qca_mdio: probed
[    2.031412] qca-mdio 88000.mdio: qca-mdio driver was registered
[    2.466059] qca-mdio 90000.mdio: Could not find phy-reset-gpio
[    2.466261] libphy: qca_mdio: probed
[    2.472993] qca-mdio 90000.mdio: qca-mdio driver was registered
[    2.576332] PPP generic driver version 2.4.2
[    2.576532] NET: Registered protocol family 24
[    2.579665] PPTP driver version 0.8.5
[    2.584103] cnss: INFO: IPC Logging is disabled!
[    2.588407] cnss[2]: INFO: Platform driver probed successfully. plat 9ded8010 tgt 0xfffc
[    2.592754] cnss[42]: INFO: Platform driver probed successfully. plat 9dee8010 tgt 0xfffb
[    2.600844] i2c /dev entries driver
[    2.609877] qcom-tsens 4a8000.thermal-sensor: tsens calibration failed
[    2.636788] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com
[    2.637416] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 799999 KHz
[    2.644360] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 800000 KHz
[    2.651608] sdhci: Secure Digital Host Controller Interface driver
[    2.660027] sdhci: Copyright(c) Pierre Ossman
[    2.666009] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.678620] register  pwm:purple
[    2.678717] register  pwm:white
[    2.680972] register  pwm:cyan
[    2.683848] register  pwm:yellow
[    2.687011] register  pwm:rgb
[    2.690361] register  8 leds
[    2.709520]
[    2.709520] Version Rollback Feature Disabled
[    2.710390] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x08b04000
[    2.714244] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x08b04000sps_register_bam_device : unable to create IPC Logging 2 for bam 0x08b04000
[    2.730143] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x08b04000sps_register_bam_device : unable to create IPC Logging 4 for bam 0x08b04000
[    2.744623] sps:BAM 0x08b04000 is registered.[    2.753991] qcom-q6v5-wcss-pil cd00000.qcom_q6v5_wcss: ssr registeration success qcom_q6v5_wcss
[    2.755428] remoteproc remoteproc0: cd00000.qcom_q6v5_wcss is available
[    2.764134] q6v5_wcss_userpd1(9eb856b4) node found
[    2.771732] platform q6v5_wcss_userpd1: ssr registeration success q6v5_wcss_userpd1
[    2.775543] remoteproc remoteproc1: q6v5_wcss_userpd1 is available
[    2.783087] q6v5_wcss_userpd2(9eb85958) node found
[    2.790359] platform q6v5_wcss_userpd2: ssr registeration success q6v5_wcss_userpd2
[    2.794104] remoteproc remoteproc2: q6v5_wcss_userpd2 is available
[    2.801666] q6v5_wcss_userpd3(9eb85bc8) node found
[    2.808926] platform q6v5_wcss_userpd3: ssr registeration success q6v5_wcss_userpd3
[    2.812680] remoteproc remoteproc3: q6v5_wcss_userpd3 is available
[    2.820719] of_graph_get_next_endpoint(): no port node found in /soc/csr@6001000
[    2.826546] coresight-csr 6001000.csr: CSR initialized
[    2.834206] of_graph_get_next_endpoint(): no port node found in /soc/cti@6010000
[    2.839174] of_graph_get_next_endpoint(): no port node found in /soc/cti@6011000
[    2.846688] of_graph_get_next_endpoint(): no port node found in /soc/cti@6012000
[    2.854017] of_graph_get_next_endpoint(): no port node found in /soc/cti@6013000
[    2.861443] of_graph_get_next_endpoint(): no port node found in /soc/cti@6014000
[    2.868802] of_graph_get_next_endpoint(): no port node found in /soc/cti@6015000
[    2.876194] of_graph_get_next_endpoint(): no port node found in /soc/cti@6016000
[    2.883524] of_graph_get_next_endpoint(): no port node found in /soc/cti@6017000
[    2.890949] of_graph_get_next_endpoint(): no port node found in /soc/cti@6018000
[    2.898336] of_graph_get_next_endpoint(): no port node found in /soc/cti@6019000
[    2.905678] of_graph_get_next_endpoint(): no port node found in /soc/cti@601a000
[    2.913081] of_graph_get_next_endpoint(): no port node found in /soc/cti@601b000
[    2.920466] of_graph_get_next_endpoint(): no port node found in /soc/cti@601c000
[    2.927855] of_graph_get_next_endpoint(): no port node found in /soc/cti@601d000
[    2.935194] of_graph_get_next_endpoint(): no port node found in /soc/cti@601e000
[    2.942599] of_graph_get_next_endpoint(): no port node found in /soc/cti@601f000
[    2.949982] of_graph_get_next_endpoint(): no port node found in /soc/cti@6198000
[    2.957521] of_graph_get_next_endpoint(): no port node found in /soc/cti@6199000
[    2.964872] of_graph_get_next_endpoint(): no port node found in /soc/cti@610c000
[    2.972384] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x06064000
[    2.979290] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x06064000sps_register_bam_device : unable to create IPC Logging 2 for bam 0x06064000
[    2.994968] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x06064000sps_register_bam_device : unable to create IPC Logging 4 for bam 0x06064000
[    3.009475] sps:BAM 0x06064000 is registered.[    3.016704] coresight-tmc 6048000.tmc: TMC initialized
[    3.020821] coresight-tmc 6047000.tmc: TMC initialized
[    3.025921] coresight-funnel 6041000.funnel: FUNNEL initialized
[    3.030957] coresight-funnel 6100000.funnel: FUNNEL initialized
[    3.036782] coresight-funnel 6120000.funnel: FUNNEL initialized
[    3.042648] coresight-funnel 6130000.funnel: FUNNEL initialized
[    3.048591] coresight-funnel 61a1000.funnel: FUNNEL initialized
[    3.055295] coresight-etm4x 619c000.etm: ETM 4.0 initialized
[    3.060849] coresight-etm4x 619d000.etm: ETM 4.0 initialized
[    3.066353] coresight-replicator-qcom 6046000.replicator: REPLICATOR 1.0 initialized
[    3.072072] coresight-stm 6002000.stm: STM initialized
[    3.081005] of_graph_get_next_endpoint(): no port node found in /soc/hwevent@6101000
[    3.084281] coresight-hwevent 6101000.hwevent: Hardware Event driver initialized
[    3.095803] u32 classifier
[    3.099432]     input device check on
[    3.101906]     Actions configured
[    3.105685] Netfilter messages via NETLINK v0.30.
[    3.109012] nfnl_acct: registering with nfnetlink.
[    3.113774] nf_conntrack version 0.5.0 (6269 buckets, 25076 max)
[    3.118903] ctnetlink v0.93: registering with nfnetlink.
[    3.124650] nf_conntrack_rtsp v0.7 loading
[    3.129967] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[    3.133797] nf_tables_compat: (c) 2012 Pablo Neira Ayuso <pablo@netfilter.org>
[    3.140661] xt_time: kernel timezone is -0000
[    3.147522] ip_set: protocol 6
[    3.152089] gre: GRE over IPv4 demultiplexor driver
[    3.154866] ip_gre: GRE over IPv4 tunneling driver
[    3.160856] nf_nat_rtsp v0.7 loading
[    3.164585] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.168445] arp_tables: (C) 2002 David S. Miller
[    3.174236] NET: Registered protocol family 10
[    3.179382] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    3.182713] sit: IPv6 over IPv4 tunneling driver
[    3.189262] ip6_gre: GRE over IPv6 tunneling driver
[    3.193248] NET: Registered protocol family 17
[    3.197256] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    3.201691] Bridge firewalling registered
[    3.214785] Ebtables v2.0 registered
[    3.218543] l2tp_core: L2TP core driver, V2.0
[    3.221971] l2tp_netlink: L2TP netlink interface
[    3.226311] 8021q: 802.1Q VLAN Support v1.8
[    3.232458] Registering SWP/SWPB emulation handler
[    3.237863] ubi0: attaching mtd15
[    3.303473] random: nonblocking pool is initialized
[    3.589056] ubi0: scanning is finished
[    3.593836] ubi0 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 34, need 40
[    3.594617] ubi0: attached mtd15 (name "alt_rootfs", size 74 MiB)
[    3.603100] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    3.609334] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    3.616096] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    3.622944] ubi0: good PEBs: 592, bad PEBs: 0, corrupted PEBs: 0
[    3.629722] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    3.635965] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 2086108028
[    3.643008] ubi0: available PEBs: 0, total reserved PEBs: 592, PEBs reserved for bad PEB handling: 34
[    3.652330] ubi0: background thread "ubi_bgt0d" started, PID 128
[    3.662883] input: soc:gpio_keys as /devices/platform/soc/soc:gpio_keys/input/input0
[    3.667660] hctosys: unable to open rtc device (rtc0)
[    3.682219] ALSA device list:
[    3.682237]   No soundcards found.
^@[    3.688253] VFS: Mounted root (squashfs filesystem) readonly on device 31:18.
[    3.689451] Freeing unused kernel memory: 1024K (80c00000 - 80d00000)

uboot:

Hit any key to stop autoboot:  0

Net:   cmbblk is stable 5
MAC1 addr:0:11:22:33:44:55
athrs17_reg_init: complete
S17c init  done
eth0
Warning: eth0 MAC addresses don't match:
Address in SROM is         00:11:22:33:44:55
Address in environment is  00:03:7f:ba:db:ad

IPQ5018# ?
?       - alias for 'help'
ar8xxx_dump- Dump ar8xxx registers
base    - print or set address offset
bdinfo  - print Board Info structure
bootelf - Boot from an ELF image in memory
bootipq - bootipq from flash device
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
canary  - test stack canary
chpart  - change active partition
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
devinfo - device info handling commands
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exectzt - execute TZT

exit    - exit script
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
flash   - flash part_name
        flash part_name load_addr file_size

flasherase- flerase part_name

flinfo  - print FLASH memory information
fuseipq - fuse QFPROM registers from memory

go      - start application at address 'addr'
help    - print command description/usage
i2c     - I2C sub-system
imxtract- extract a part of a multi-image
ipq5018_mdio- IPQ5018 mdio utility commands
ipq_mdio- IPQ mdio utility commands
is_sec_boot_enabled- check secure boot fuse is enabled or not

itest   - return true/false on integer compare
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mtdparts- define flash/nand partitions
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
part    - disk partition related commands
pci     - list and access PCI Configuration Space
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
runmulticore- Enable and schedule secondary cores
saveenv - save environment variables to persistent storage
secure_authenticate- authenticate the signed image

setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
smeminfo- print SMEM FLASH information
source  - run script from memory
test    - minimal test like /bin/sh
tftp    - boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
true    - do nothing, successfully
tzt     - load and run tzt

uart    - UART sub-system
ubi     - ubi commands
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
zip     - zip a memory region
IPQ5018# printenv
altkern=58c0000
auto_recovery=yes
baudrate=115200
boot_part=2
boot_part_ready=3
boot_ver=4.0.04
bootargs=console=ttyMSM0,115200n8
bootcmd=if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi
bootdelay=3
bootpart1=setenv bootargs $partbootargs && nand read $loadaddr $prikern $kernsize && bootm $loadaddr
bootpart2=setenv bootargs $partbootargs2 && nand read $loadaddr $altkern $kernsize && bootm $loadaddr
dload_dis=1
ethact=eth0
ethaddr=00:03:7f:ba:db:ad
fdt_high=0x4A400000
fdtcontroladdr=4a9c4004
flash_type=11
flashimg=tftp $loadaddr $image && nand erase $prikern $imgsize && nand write $loadaddr $prikern $filesize
flashimg2=tftp $loadaddr $image && nand erase $altkern $imgsize && nand write $loadaddr $altkern $filesize
image=MX2000.img
imgsize=5200000
ipaddr=192.168.1.1
kernsize=800000
loadaddr=44000000
machid=8040004
mtddevname=fs
mtddevnum=0
mtdids=nand0=nand0
mtdparts=mtdparts=nand0:0x4a00000@0xec0000(fs),
netmask=255.255.255.0
partbootargs=init=/sbin/init rootfstype=squashfs ubi.mtd=rootfs root=mtd:squashfs rootwait
partbootargs2=init=/sbin/init rootfstype=squashfs ubi.mtd=alt_rootfs root=mtd:squashfs rootwait
prikern=6c0000
serverip=192.168.1.254
soc_hw_version=20180101
soc_version_major=1
soc_version_minor=1
stderr=serial@78AF000
stdin=serial@78AF000
stdout=serial@78AF000

Environment size: 1437/262140 bytes

hitting ENTER will drop into a shell:

/ $ uname -a
Linux Linksys01765 4.4.60 #1 SMP PREEMPT Thu Feb 17 12:29:26 PST 2022 armv7l GNU/Linux

/ $ cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "0:SBL1"
mtd1: 00080000 00020000 "0:MIBIB"
mtd2: 00100000 00020000 "0:QSEE"
mtd3: 00040000 00020000 "0:DEVCFG"
mtd4: 00040000 00020000 "0:CDT"
mtd5: 00080000 00020000 "0:APPSBLENV"
mtd6: 00140000 00020000 "0:APPSBL"
mtd7: 00100000 00020000 "0:ART"
mtd8: 00080000 00020000 "0:TRAINING"
mtd9: 00080000 00020000 "u_env"
mtd10: 00040000 00020000 "s_env"
mtd11: 00040000 00020000 "devinfo"
mtd12: 05200000 00020000 "kernel"
mtd13: 04a00000 00020000 "rootfs"
mtd14: 05200000 00020000 "alt_kernel"
mtd15: 04a00000 00020000 "alt_rootfs"
mtd16: 00200000 00020000 "sysdiag"
mtd17: 04400000 00020000 "syscfg"
mtd18: 04316000 0001f000 "squashfs"
mtd19: 03c8c000 0001f000 "syscfg"

bootlog continued:

*********************************************************************************
              _        _  __    _    __ _____ __   __ _____
             | |      | ||  \  | |  / // ____]\ \ / // ____]TM
             | |      | ||   \ | | / /| (___   \ V /| (____
             | |      | || |\ \| |\ \  \____ \  \ /  \____ \
             | |_____ | || | \   | \ \  ____) | | |   ____) |
             |_______||_||_|  \__|  \_\[____ /  |_|  [_____/

 (c) 2013 Belkin International, Inc. and/or its affiliates. All rights reserved.
 Booting rhodes (firmware version 1.1.6.209924)
*********************************************************************************
[utopia][init] System Initialization
[utopia][init] Creating /proc
[utopia][init] Creating /sys
[utopia][init] Creating /dev
[utopia][init] Creating /tmp
[utopia][init] Allocating 80M for /tmp
[utopia][init] Prepairing /dev/pts
[utopia][init] Setting /tmp and /var permissions
[utopia][init] Starting udev..
Attempting mount of ubifs syscfg partition
UBI device number 1, total 544 LEBs (69074944 bytes, 65.9 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
[utopia][init] Using persistent syscfg data from /var/config/syscfg
[utopia][init] Starting system logging
[utopia][init] Starting sysevent subsystem
/dev/mem opened.
Memory mapped at address 0x76f4e000.
Value at address 0x1001000 (0x76f4e000): 0xC1
Written 0xC9; readback 0xC9
[utopia][init] Starting blue ...
[utopia][init] Enabling DesignWare USB3 DRD Core drivers
[utopia][init] Loading QCA Ethernet, NSS and GMAC drivers
net.netfilter.nf_conntrack_acct = 1
[utopia][init] Setting any unset system values to default
[utopia][init] no persistence config file (/var/config/pstcfg) found
setting up MAC addresses for all interface based on 80:69:1A:00:70:8D
NTP Servers do not need to be updated
[utopia][init] syscfg loaded removing tmp file

 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
The item is not initialized


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.

checking for interactive script start up...
no user scheduled tasks found...
senq running
/etc/init.d/service_senq.sh   Starting in mode 0
1970-01-01 00:00:20: node-mode running
Good block at 0x00000000
Updating BootCount Page[5]:2800 ... Done

[utopia][init] Loading Buttons drivers
[utopia][init] Setup link to WiFi firmware and board data (EU)
[utopia][init] Multi-region is not supported or not enabled
[utopia][init] Cert region: EU
lrwxrwxrwx    1 root     root            12 Feb 17  2022 IPQ5018 -> /tmp/IPQ5018
-rw-r--r--    1 root     root          7952 Feb 17  2022 firmware_rdp_feature.ini
-rw-r--r--    1 root     root          7953 Feb 17  2022 firmware_rdp_feature_512P.ini
drwxr-xr-x    2 root     root             3 Feb 17  2022 qca
-rw-r--r--    1 root     root        761900 Feb 17  2022 qca-nss0.bin
lrwxrwxrwx    1 root     root            12 Feb 17  2022 qcn6122 -> /tmp/qcn6122
[utopia][init] Using EU region for WiFi firmware and board data
[utopia][init] Load WiFi cal data from MTD(mtd7) to FS.
131072+0 records in
131072+0 records out
131072 bytes (128.0KB) copied, 1.124449 seconds, 113.8KB/s
131072+0 records in
131072+0 records out
131072 bytes (128.0KB) copied, 0.611175 seconds, 209.4KB/s
[utopia][init] Loading WLAN drivers
/bin/sh: can't open '/etc/rc.common'
[utopia][init] Loading QCA Enhanced Connection manager
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
dev.nss.general.redirect = 1
[utopia][init] Initializing BTLE interface
[utopia][init] Bluetooth Mac Address: 80 69 1A 00 70 8D
[utopia][init] Cert Region: EU
16+0 records in
16+0 records out
16 bytes (16B) copied, 0.000285 seconds, 54.8KB/s
6+0 records in
6+0 records out
6 bytes (6B) copied, 0.000185 seconds, 31.7KB/s
2749+0 records in
2749+0 records out
2749 bytes (2.7KB) copied, 0.012252 seconds, 219.1KB/s
inserting fpbypass.ko for QCA
adding group for lldpd user
Thu Oct 11 06:00:00 UTC 2012

(none) login: Starting devicedb ...
wan, sysevent received: wan-start

DeviceDB database version 3
Options:
    Daemonize       : yes
    Server UDS Path   : /tmp/devicedb/server_link
    Database File     : /tmp/devicedb/devicedb.db
    DB Transient File : /tmp/devicedb/transient.db
DeviceDB Daily Backup Cron job created
No TopoDB persistence data to import
TopoDB data not imported
ping6: sendto: Network is unreachable
ARP agent not started: not in master mode.
lldpd event lan_ipaddr 192.168.1.1 received.
lldpd event lldpd-start  received.
killall: lldpd: no process killed
Starting ddd_ethernet_agent ...
lldpd configuration already running
setting root_accessible to 0 by default
mwe
r

tto aborting: not Master
lldp updating callback scripts
service_guardian.sh is called with lan-status
lldpd event ETH::port_3_status down received.





lldpd event ETH::port_4_status down received.










lldpd event ETH::port_5_status down received.
lldpd event ETH::port_2_status down received.
lldpd event lldp::root_accessible 0 received.
backhaul_switching status event backhaul::media 0 received on backhaul_switching_mgr
Backhaul media 0 received, but wifi status is not started. Will do backhaul check later
subscriber running
/etc/init.d/service_subscriber.sh subscriber-stop NULL MODE: 0
[utopia] Not setting ppp_clamp_mtu
killall: omsgd: no process killed
killall: configure_me_monitor.sh: no process killed
rm: can't remove '/var/run/configure_me_monitor.sh.pid': No such file or directory
Lighttpd Model Base: MX2000
Generating Rainier lighttpd config
Build temporary www configuration directory:
nss_build_bypass is called with lan-started
TSLIIHauhEfGE
Power cycle Ethernet ports.
Registering Service myrouter._http._tcp.local port 80
conntrack_parse running
creating conntrack cron job
ARP agent not started: not in master mode.
Got a reply for myrouter._http._tcp.local.: Name now registered and active
wifi, sysevent received: lan-started (Wed Oct 10 23:00:14 PDT 2012)
wifi, service_start()
[utopia][init] Loading GMAC and WLAN drivers
[utopia][init] Creating wifi devices
 Multi-region is not supported or not enabled
mosquitto aborting: not Master
service_guardian.sh is called with lan-status
smart connect client, generating client device data
Not ready for JNAP. Sleeping for 15 seconds...
backhaul_switching status event system_state-normal received
wifi, wifi_physical_start(ath0)
dev.nss.n2hcfg.n2h_high_water_core0 = 8704
dev.nss.n2hcfg.extra_pbuf_core0 = 3100000
dev.nss.n2hcfg.n2h_high_water_core0 = 30624
dev.nss.n2hcfg.n2h_wifi_pool_buf = 8192
[utopia] Not setting ppp_clamp_mtu on dslite protocol
dev.nss.n2hcfg.n2h_queue_limit_core0 = 256
ath0      No such device

nss_build_bypass is called with ipv4_wan_ipaddr
wan, sysevent received: phylink_wan_state
lldpd event ipv4_wan_ipaddr 0.0.0.0 received.
getting geoip information for 0.0.0.0
curl: (6) Could not resolve: freegeoip.net (Could not contact DNS servers)
Auto channel
wifi, wifi_virtual_start(ath0)
wifi, wifi_user_start(ath0)
wifi_user, ath0 TxBF enabled
fastpath, sysevent received: qos_enabled
wifi, primary AP: ath0 is up (Wed Oct 10 23:00:29 PDT 2012)
dev.nss.general.redirect = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
wifi, wifi_guest_start(ath0)
wifi, guest ath2 is disabled, do not start wifi guest
wifi, smart::mode is unconfigured do not start smart connect setup and config wifi
wifi, wifi_physical_start(ath1)
killall: mdns_lookup: no process killed
dev.nss.n2hcfg.n2h_high_water_core0 = 26528
sysctl: short write
dev.nss.n2hcfg.n2h_high_water_core0 = 30624
dev.nss.n2hcfg.n2h_wifi_pool_buf = 8192
smart_connect, sysevent received: wifi-status starting
LookUpMaster call OK.
mDNS lookup is on going...
dev.nss.n2hcfg.n2h_queue_limit_core0 = 256
ath1      No such device

2012-10-11 06:00:32: Setting defaults
List Flushed
Following channels are blocked from Channel selection algorithm
[116] [120] [124] [128]
List Flushed
Following channels are blocked from Channel selection algorithm
[52] [56] [60] [64] [100] [104] [108] [112] [116] [120] [124] [128]
configurator: got event(guardian-status, started)
Auto channel
nss_build_bypass is called with guardian-configured
wifi, wifi_virtual_start(ath1)
configurator: got event(guardian-configured, )
wifi, wifi_user_start(ath1)
configurator: got event(firewall-status, starting)
configurator: got event(firewall-status, started)
configurator: got event(firewall-status, starting)
configurator: got event(firewall-status, started)
wifi_user, ath1 TxBF enabled
wifi_user, ath1 MU-MIMO enabled
wifi, primary AP: ath1 is up (Wed Oct 10 23:00:35 PDT 2012)
wifi, wifi_guest_start(ath1)
wifi, guest ath3 is disabled, do not start wifi guest
wifi, start_hostapd()
wifi, start hostapd (Wed Oct 10 23:00:36 PDT 2012)
rfkill: Cannot open RFKILL control device
l2_packet_init: ioctl[SIOCGIFINDEX]: No such device
Failed to open l2_packet interface for vlan bridge
ACS: Automatic channel selection started, this may take a bit
ACS: Offloading to driver
rfkill: Cannot open RFKILL control device
l2_packet_init: ioctl[SIOCGIFINDEX]: No such device
Failed to open l2_packet interface for vlan bridge
ACS: Automatic channel selection started, this may take a bit
ACS: Offloading to driver
Restarting nfqrecv service...
Got a TERM signal, will terminate.
Warning! nfqrecv encountered errors when doing recv(): Interrupted system call
killall: nfqrecv: no process killed
configurator: got event(nfqrecv-status, stopped)
configurator: got event(nfqrecv-status, started)
nl80211: ACS Results: PFreq: 2462 SFreq: 2442 BW: 40 VHT0: 9 VHT1: 0 HW_MODE: 1 EDMGCH: 0
ath0: ACS-COMPLETED freq=2462 channel=11
wpa_driver_nl80211_set_key: ifindex=18 (ath0) alg=3 addr=0x54d7fbac key_idx=1 set_tx=1 seq_len=0 key_len=16 key_flag=0x1a
ath0: interface state UNINITIALIZED->ENABLED
ath0: AP-ENABLED
ath0: IEEE 802.11 driver had channel switch: freq=2462, ht=1, vht_ch=0x0, offset=-1, width=2 (40 MHz), cf1=2452, cf2=0
ath0: CTRL-EVENT-CHANNEL-SWITCH freq=2462 ht_enabled=1 ch_offset=-1 ch_width=40 MHz cf1=2452 cf2=0 dfs=0
start mcsd succeeded (Wed Oct 10 23:00:41 PDT 2012)
23.00.41.604252 MCSD plugin   info : Initializing plugin manager
btsetup smart_connect::setup_status
state_machine entering READY
btpiad_ctl build version:1.0.58
nl80211: ACS Results: PFreq: 5240 SFreq: 5140 BW: 160 VHT0: 50 VHT1: 0 HW_MODE: 2 EDMGCH: 0
ath1: ACS-COMPLETED freq=5240 channel=48
wpa_driver_nl80211_set_key: ifindex=19 (ath1) alg=3 addr=0x54d7fbac key_idx=1 set_tx=1 seq_len=0 key_len=16 key_flag=0x1a
ath1: interface state UNINITIALIZED->ENABLED
ath1: AP-ENABLED
ath1: IEEE 802.11 driver had channel switch: freq=5240, ht=1, vht_ch=0x0, offset=-1, width=5 (160 MHz), cf1=5250, cf2=0
ath1: CTRL-EVENT-CHANNEL-SWITCH freq=5240 ht_enabled=1 ch_offset=-1 ch_width=160 MHz cf1=5250 cf2=0 dfs=0
btsetup: Unconfigured mode and Peripheral role
pub_devinfo_status:  Error: could not determine HOST_ADDR
smart_connect, sysevent received: wifi-status started
Local Bluetooth MAC: 80:69:1A:00:70:8D
0x02 0x01 0x06 0x08 0x09 0x4C 0x69 0x6E 0x6B 0x73 0x79 0x73
0x05 0xFF 0x5C 0x00 0x00 0x00 0x11 0x07 0xD1 0x6F 0x01 0x40 0x94 0x0E 0x88 0xB7 0xC2 0x46 0xAB 0x8E 0x80 0x20 0x00 0x00
configurator: got event(firewall-status, starting)
configurator: got event(firewall-status, started)
pub_wlan_status:  Error: could not determine HOST_ADDR
[fw.sh] fwup_checked_after_boot: 0
[fwupd] status details:"ERROR: Connecting server"
[fw.sh] fwup_forced_update: 0

Its probably supportable, I did some poking around and it shouldn't be that hard.
However, the one major hurdle is the fact they redesigned the NAND controller so it also works with SPI NAND and that is going to be a major pain.

Timeline is the usual, its going to happen when it happens.

3 Likes

I've got a Linksys Atlas Pro 6 AX5400 (MX5500 Series) and I want to connect the serial to determine the CPU architecture but don't want to break the case pulling it apart. How did you do it? Are there hidden screws beneath the label?

I’ve got the same, both the MX2000 and MX5500. To open them, remove the rubber bands from the bottom to reveal the screws. Open them, then use a long thin non-sharp tool and push the top cover from the bottom from one of the corners with ample space. Remove the screws that connect the PCB/cooling elements from the casing and you can slide the cover off.
In my case, the MX5500 did not have pins mounted on the J2 UART connection, hope you have more luck.
They’re both based on IPQ5018 but the MX5500 has more RAM (1GB vs 512MB).

1 Like

Ta. You answered both of my questions so thanks :grinning: Let's hope OpenWrt support isn't too far away for the IPQ5018.

Don't hold your breath, there is no one working on ipq50xx.

1 Like

And here's the boot log for the MX5500 version (Atlas 6 Pro), also based on IPQ5018. Very similar devices with MX2000 (Atlas 6) having 2x2 and AX3000 while MX5500 has 4x4, AX5400, and 160Mhz channel bandwidth support.

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.1-00064
S - IMAGE_VARIANT_STRING=MAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002c5
B -       127 - PBL, Start
B -      1558 - bootable_media_detect_entry, Start
B -      3841 - bootable_media_detect_success, Start
B -      3844 - elf_loader_entry, Start
B -      9248 - auth_hash_seg_entry, Start
B -      9609 - auth_hash_seg_exit, Start
B -    105675 - elf_segs_hash_verify_entry, Start
B -    175242 - PBL, End
B -    144021 - SBL1, Start
B -    205417 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    213713 - clock_init, Start
D -      7411 - clock_init, Delta
B -    221308 - boot_flash_init, Start
D -     13786 - boot_flash_init, Delta
B -    235185 - boot_config_data_table_init, Start
D -      5337 - boot_config_data_table_init, Delta - (575 Bytes)
B -    243603 - Boot Setting :  0x00000618
B -    249795 - CDT version:2,Platform ID:8,Major ID:4,Minor ID:0,Subtype:1
B -    256688 - sbl1_ddr_set_params, Start
B -    258304 - Pre_DDR_clock_init, Start
B -    263947 - Pre_DDR_clock_init, End
B -    906185 - do ddr sanity test, Start
D -        61 - do ddr sanity test, Delta
B -    910852 - Image Load, Start
D -    233172 - QSEE Image Loaded, Delta - (523680 Bytes)
B -   1144878 - Image Load, Start
D -     15067 - DEVCFG Image Loaded, Delta - (13592 Bytes)
B -   1159976 - Image Load, Start
D -    185592 - APPSBL Image Loaded, Delta - (422252 Bytes)
B -   1345629 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -   1352095 - SBL1, End
D -   1210758 - SBL1, Delta
S - Flash Throughput, 2316 KB/s  (960099 Bytes,  414550 us)
S - DDR Frequency, 800 MHz
S - Core 0 Frequency, 800 MHz


U-Boot 2016.01 (Mar 04 2022 - 17:36:21 +0800)

CBT U-Boot ver: 3.1.04  ([IPQ5018].[SPF11.3].[CS])

DRAM:  smem ram ptable found: ver: 1 len: 4
512 MiB
NAND:  QPIC controller support serial NAND
ID = 3a6c2
Vendor = c2
Device = a6
Serial Nand Device Found With ID : 0xc2 0xa6
Serial NAND device Manufature:MX35UF2GE4AD
Device Size:256 MiB, Page size:2048, Spare Size:128, ECC:8-bit
qpic_nand: changing oobsize to 80 from 128 bytes
SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   sdhci: Node Not found, skipping initialization

PCI Link Intialized
PCI1 is not defined in the device tree
In:    serial@78AF000
Out:   serial@78AF000
Err:   serial@78AF000
machid: 8040001
eth0 MAC Address from ART is not valid
eth1 MAC Address from ART is not valid

Updating boot_count ... done

Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x58c0000, size 0x800000
 8388608 bytes read: OK
## Loading kernel from FIT Image at 44000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM Linksys Linux-4.4.60
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000e4
     Data Size:    4452199 Bytes = 4.2 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x41208000
     Entry Point:  0x41208000
     Hash algo:    crc32
     Hash value:   913df8da
     Hash algo:    sha1
     Hash value:   33f1f1f7e3a2e169c224dae0036e8138dfbf6f74
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 44000000 ...
   Using 'config@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  ARM Linksys Elise device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x4443f17c
     Data Size:    56252 Bytes = 54.9 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   8fc46a2a
     Hash algo:    sha1
     Hash value:   4c2dd8c16dfd37d466fe8b3a5c1a4f99529d9350
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x4443f17c
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3ef000, end 4a3ffbbb ... OK
Could not find PCI in device tree
Using machid 0x8040001 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.60 (root@build-vm) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r35193) ) #1 SMP PREEMPT Tue Jan 25 13:09:39 PST 2022
[    0.000000] CPU: ARMv7 Processor [51af8014] revision 4 (ARMv7), cr=10c0383d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Qualcomm Technologies, Inc. IPQ5018/AP-MP03.1
[    0.000000] Ignoring memory range 0x40000000 - 0x41000000
[    0.000000] Reserved memory: created DMA memory pool at 0x4ea00000, size 16 MiB
[    0.000000] Reserved memory: initialized node dma_pool1@4ea00000, compatible id shared-dma-pool
[    0.000000] Memory policy: Data cache writealloc
[    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] PERCPU: Embedded 11 pages/cpu @9eb62000 s15168 r8192 d21696 u45056
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 105636
[    0.000000] Kernel command line: init=/sbin/init rootfstype=squashfs ubi.mtd=alt_rootfs root=mtd:squashfs rootwait swiotlb=1 coherent_pool=2M
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 411388K/427008K available (6349K kernel code, 404K rwdata, 2092K rodata, 1024K init, 458K bss, 15620K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x9f800000 - 0xff800000   (1536 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x9f000000   ( 496 MB)
[    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
[    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
[    0.000000]       .text : 0x80208000 - 0x80b3e428   (9434 kB)
[    0.000000]       .init : 0x80c00000 - 0x80d00000   (1024 kB)
[    0.000000]       .data : 0x80d00000 - 0x80d65194   ( 405 kB)
[    0.000000]        .bss : 0x80d68000 - 0x80dda878   ( 459 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Architected cp15 timer(s) running at 24.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000005] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000018] Switching to timer-based delay loop, resolution 41ns
[    0.000559] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000576] pid_max: default: 32768 minimum: 301
[    0.000689] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000702] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001361] Initializing cgroup subsys io
[    0.001385] Initializing cgroup subsys memory
[    0.001419] Initializing cgroup subsys devices
[    0.001433] Initializing cgroup subsys freezer
[    0.001445] Initializing cgroup subsys net_cls
[    0.001456] Initializing cgroup subsys pids
[    0.001501] CPU: Testing write buffer coherency: ok
[    0.001961] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002031] Setting up static identity map for 0x41300000 - 0x41300058
[    0.053434] MSM Memory Dump base table set up
[    0.053464] MSM Memory Dump apps data table set up
[    0.090479] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.090616] Brought up 2 CPUs
[    0.090635] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.090642] CPU: All CPU(s) started in SVC mode.
[    0.104285] VFP support v0.3: implementor 51 architecture 3 part 40 variant 3 rev 4
[    0.104670] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.104704] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.105242] pinctrl core: initialized pinctrl subsystem
[    0.106569] NET: Registered protocol family 16
[    0.107993] DMA: preallocated 2048 KiB pool for atomic coherent allocations
[    0.130271] cpuidle: using governor ladder
[    0.160300] cpuidle: using governor menu
[    0.160620] NET: Registered protocol family 42
[    0.165888] qcom,gcc-ipq5018 1800000.gcc: Registered ipq5018 GCC clocks provider
[    0.171906] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.183189] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.183203] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.185004] CPU: IPQ5018, SoC Version: 1.1
[    0.186900] IPC logging disabled
[    0.186912] IPC logging disabled
[    0.186917] IPC logging disabled
[    0.186922] IPC logging disabled
[    0.186926] IPC logging disabled
[    0.187213] sps:sps is ready.
[    0.222770] pps_core: LinuxPPS API ver. 1 registered
[    0.222784] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.222818] PTP clock support registered
[    0.224924] Advanced Linux Sound Architecture Driver Initialized.
[    0.225941] clocksource: Switched to clocksource arch_sys_counter
[    0.228603] NET: Registered protocol family 2
[    0.229556] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.229613] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.229688] TCP: Hash tables configured (established 4096 bind 4096)
[    0.229750] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.229775] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.230009] NET: Registered protocol family 1
[    0.231347] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    0.240765] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.240788] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.246640] Key type asymmetric registered
[    0.246662] Asymmetric key parser 'x509' registered
[    0.246714] io scheduler noop registered
[    0.246728] io scheduler deadline registered (default)
[    0.248946] ipq5018-pinctrl 1000000.pinctrl: function 'NA' not supported
[    0.248963] ipq5018-pinctrl 1000000.pinctrl: invalid function NA in map table
[    0.250270] a0000000.pci supply vdda not found, using dummy regulator
[    0.250346] a0000000.pci supply vdda_phy not found, using dummy regulator
[    0.250413] a0000000.pci supply vdda_refclk not found, using dummy regulator
[    0.251220] PCI host bridge /soc/pci@a0000000 ranges:
[    0.251255]    IO 0xa0200000..0xa02fffff -> 0xa0200000
[    0.251273]   MEM 0xa0300000..0xb02fffff -> 0xa0300000
[    0.585944] qcom-pcie a0000000.pci: link up
[    0.586207] qcom-pcie a0000000.pci: PCI host bridge to bus 0001:00
[    0.586227] pci_bus 0001:00: root bus resource [bus 00-ff]
[    0.586241] pci_bus 0001:00: root bus resource [io  0x0000-0xfffff] (bus address [0xa0200000-0xa02fffff])
[    0.586253] pci_bus 0001:00: root bus resource [mem 0xa0300000-0xb02fffff]
[    0.586684] PCI: bus0: Fast back to back transfers disabled
[    0.586701] pci 0001:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.587735] PCI: bus1: Fast back to back transfers disabled
[    0.587815] pci 0001:00:00.0: BAR 8: assigned [mem 0xa0400000-0xa05fffff]
[    0.587830] pci 0001:00:00.0: BAR 9: assigned [mem 0xa0600000-0xa07fffff 64bit pref]
[    0.587843] pci 0001:00:00.0: BAR 0: assigned [mem 0xa0300000-0xa0300fff 64bit]
[    0.587861] pci 0001:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    0.587877] pci 0001:01:00.0: BAR 0: assigned [mem 0xa0400000-0xa05fffff 64bit]
[    0.587925] pci 0001:00:00.0: PCI bridge to [bus 01]
[    0.587936] pci 0001:00:00.0:   bridge window [io  0x1000-0x1fff]
[    0.587948] pci 0001:00:00.0:   bridge window [mem 0xa0400000-0xa05fffff]
[    0.587960] pci 0001:00:00.0:   bridge window [mem 0xa0600000-0xa07fffff 64bit pref]
[    0.588028] PCIe: RC0 enabled during bootup
[    0.594211] NET: Registered protocol family 27
[    0.594229] IPC_RTR: ipc_router_create_log_ctx: IPC Logging disabled
[    0.595702] TZ Log : Will warn on Access Violation, as paniconaccessviolation is not set
[    0.596327] bt_driver 1943008.bt: bt_parse_ipc
[    0.596389] bt_driver 1943008.bt: bt_parse_mem
[    0.596437] bt_driver 1943008.bt: bt_parse_dt operating in secure mode
[    0.597666] 58000.qcom,msm-eud: ttyEUD0 at MMIO 0x0 (irq = 123, base_baud = 0) is a EUD UART
[    0.598296] Registered Sucessfully
[    0.598948] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.599005] msm_serial 78af000.serial: uartclk = 1843199
[    0.599066] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 20, base_baud = 115199) is a MSM
[    0.599097] msm_serial: console setup on port #0
[    1.430475] console [ttyMSM0] enabled
[    1.435657] msm_serial: driver initialized
[    1.439143] msm_serial_hsl_init: driver initialized
[    1.686114] brd: module loaded
[    1.706579] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[    1.708685] m25p80 spi32766.0: unrecognized JEDEC id bytes: 00,  0,  0
[    1.713705] phase not found in dts, falling to 50MHz
[    1.719068] QPIC platform data not populated
[    1.724206] QPIC controller hw version Major:2, Minor:1
[    1.728422] QPIC controller support serial nand.
[    1.733660] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xa6
[    1.738238] nand: Macronix MX35UF2GE4AD SPI NAND 2G 1.8V
[    1.744545] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    1.750390] 18 ofpart partitions found on MTD device qcom_nand.0
[    1.757253] Creating 18 MTD partitions on "qcom_nand.0":
[    1.763473] 0x000000000000-0x000000080000 : "0:SBL1"
[    1.786563] 0x000000080000-0x000000100000 : "0:MIBIB"
[    1.806594] 0x000000100000-0x000000200000 : "0:QSEE"
[    1.826553] 0x000000200000-0x000000240000 : "0:DEVCFG"
[    1.828007] 0x000000240000-0x000000280000 : "0:CDT"
[    1.846592] 0x000000280000-0x000000300000 : "0:APPSBLENV"
[    1.866586] 0x000000300000-0x000000440000 : "0:APPSBL"
[    1.886595] 0x000000440000-0x000000540000 : "0:ART"
[    1.888861] 0x000000540000-0x0000005c0000 : "0:TRAINING"
[    1.906540] 0x0000005c0000-0x000000640000 : "u_env"
[    1.926563] 0x000000640000-0x000000680000 : "s_env"
[    1.946554] 0x000000680000-0x0000006c0000 : "devinfo"
[    1.966580] 0x0000006c0000-0x0000058c0000 : "kernel"
[    2.076617] 0x000000ec0000-0x0000058c0000 : "rootfs"
[    2.159061] mtd: device 13 (rootfs) set to be root filesystem
[    2.159364] mtdsplit: no squashfs found in "rootfs"
[    2.163810] 0x0000058c0000-0x00000aac0000 : "alt_kernel"
[    2.259900] 0x0000060c0000-0x00000aac0000 : "alt_rootfs"
[    2.356613] 0x00000aac0000-0x00000acc0000 : "sysdiag"
[    2.360000] 0x00000acc0000-0x00000f0c0000 : "syscfg"
[    2.437216] libphy: Fixed MDIO Bus: probed
[    2.655978] qca-mdio 88000.mdio: Could not find phy-reset-gpio
[    2.656169] libphy: qca_mdio: probed
[    2.676397] qca-mdio 88000.mdio: qca-mdio driver was registered
[    3.115996] qca-mdio 90000.mdio: Could not find phy-reset-gpio
[    3.116195] libphy: qca_mdio: probed
[    3.122865] qca-mdio 90000.mdio: qca-mdio driver was registered
[    3.226243] PPP generic driver version 2.4.2
[    3.226447] NET: Registered protocol family 24
[    3.229573] PPTP driver version 0.8.5
[    3.234039] Unable to create IPC log context!
[    3.238115] cnss[27]: INFO: Platform driver probed successfully. plat 9dec0010 tgt 0x1104
[    3.242478] cnss[2]: INFO: Platform driver probed successfully. plat 9ded0010 tgt 0xfffc
[    3.250554] i2c /dev entries driver
[    3.259535] qcom-tsens 4a8000.thermal-sensor: tsens calibration failed
[    3.286712] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com
[    3.287304] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 799999 KHz
[    3.294264] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1008000 KHz
[    3.301520] sdhci: Secure Digital Host Controller Interface driver
[    3.309952] sdhci: Copyright(c) Pierre Ossman
[    3.316016] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.328587] register  pwm:purple
[    3.328686] register  pwm:white
[    3.330943] register  pwm:cyan
[    3.333812] register  pwm:yellow
[    3.336978] register  pwm:rgb
[    3.340317] register  8 leds
[    3.359388]
[    3.359388] Version Rollback Feature Disabled
[    3.360238] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x08b04000
[    3.364113] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x08b04000sps_register_bam_device : unable to create IPC Logging 2 for bam 0x08b04000
[    3.380016] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x08b04000sps_register_bam_device : unable to create IPC Logging 4 for bam 0x08b04000
[    3.394493] sps:BAM 0x08b04000 is registered.[    3.403323] qcom-q6v5-wcss-pil cd00000.qcom_q6v5_wcss: ssr registeration success qcom_q6v5_wcss
[    3.405293] remoteproc remoteproc0: cd00000.qcom_q6v5_wcss is available
[    3.414470] of_graph_get_next_endpoint(): no port node found in /soc/csr@6001000
[    3.420627] coresight-csr 6001000.csr: CSR initialized
[    3.428389] of_graph_get_next_endpoint(): no port node found in /soc/cti@6010000
[    3.433276] of_graph_get_next_endpoint(): no port node found in /soc/cti@6011000
[    3.440848] of_graph_get_next_endpoint(): no port node found in /soc/cti@6012000
[    3.448234] of_graph_get_next_endpoint(): no port node found in /soc/cti@6013000
[    3.455535] of_graph_get_next_endpoint(): no port node found in /soc/cti@6014000
[    3.462995] of_graph_get_next_endpoint(): no port node found in /soc/cti@6015000
[    3.470316] of_graph_get_next_endpoint(): no port node found in /soc/cti@6016000
[    3.477698] of_graph_get_next_endpoint(): no port node found in /soc/cti@6017000
[    3.485043] of_graph_get_next_endpoint(): no port node found in /soc/cti@6018000
[    3.492493] of_graph_get_next_endpoint(): no port node found in /soc/cti@6019000
[    3.499833] of_graph_get_next_endpoint(): no port node found in /soc/cti@601a000
[    3.507210] of_graph_get_next_endpoint(): no port node found in /soc/cti@601b000
[    3.514545] of_graph_get_next_endpoint(): no port node found in /soc/cti@601c000
[    3.521972] of_graph_get_next_endpoint(): no port node found in /soc/cti@601d000
[    3.529358] of_graph_get_next_endpoint(): no port node found in /soc/cti@601e000
[    3.536734] of_graph_get_next_endpoint(): no port node found in /soc/cti@601f000
[    3.544077] of_graph_get_next_endpoint(): no port node found in /soc/cti@6198000
[    3.551633] of_graph_get_next_endpoint(): no port node found in /soc/cti@6199000
[    3.559022] of_graph_get_next_endpoint(): no port node found in /soc/cti@610c000
[    3.566475] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x06064000
[    3.573400] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x06064000sps_register_bam_device : unable to create IPC Logging 2 for bam 0x06064000
[    3.589121] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x06064000sps_register_bam_device : unable to create IPC Logging 4 for bam 0x06064000
[    3.603616] sps:BAM 0x06064000 is registered.[    3.610775] coresight-tmc 6048000.tmc: TMC initialized
[    3.614894] coresight-tmc 6047000.tmc: TMC initialized
[    3.620125] coresight-funnel 6041000.funnel: FUNNEL initialized
[    3.625024] coresight-funnel 6100000.funnel: FUNNEL initialized
[    3.630886] coresight-funnel 6120000.funnel: FUNNEL initialized
[    3.636809] coresight-funnel 6130000.funnel: FUNNEL initialized
[    3.642665] coresight-funnel 61a1000.funnel: FUNNEL initialized
[    3.649374] coresight-etm4x 619c000.etm: ETM 4.0 initialized
[    3.654887] coresight-etm4x 619d000.etm: ETM 4.0 initialized
[    3.660498] coresight-replicator-qcom 6046000.replicator: REPLICATOR 1.0 initialized
[    3.666250] coresight-stm 6002000.stm: STM initialized
[    3.675089] of_graph_get_next_endpoint(): no port node found in /soc/hwevent@6101000
[    3.678460] coresight-hwevent 6101000.hwevent: Hardware Event driver initialized
[    3.689715] u32 classifier
[    3.693530]     input device check on
[    3.696082]     Actions configured
[    3.699836] Netfilter messages via NETLINK v0.30.
[    3.703135] nfnl_acct: registering with nfnetlink.
[    3.707938] nf_conntrack version 0.5.0 (6427 buckets, 25708 max)
[    3.713026] ctnetlink v0.93: registering with nfnetlink.
[    3.718823] nf_conntrack_rtsp v0.7 loading
[    3.724060] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[    3.727954] nf_tables_compat: (c) 2012 Pablo Neira Ayuso <pablo@netfilter.org>
[    3.734696] xt_time: kernel timezone is -0000
[    3.741660] ip_set: protocol 6
[    3.746246] gre: GRE over IPv4 demultiplexor driver
[    3.749005] ip_gre: GRE over IPv4 tunneling driver
[    3.754935] nf_nat_rtsp v0.7 loading
[    3.758778] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.762556] arp_tables: (C) 2002 David S. Miller
[    3.768365] NET: Registered protocol family 10
[    3.773461] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    3.776960] sit: IPv6 over IPv4 tunneling driver
[    3.783335] ip6_gre: GRE over IPv6 tunneling driver
[    3.787391] NET: Registered protocol family 17
[    3.791350] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    3.795835] Bridge firewalling registered
[    3.808950] Ebtables v2.0 registered
[    3.812654] l2tp_core: L2TP core driver, V2.0
[    3.816141] l2tp_netlink: L2TP netlink interface
[    3.820397] 8021q: 802.1Q VLAN Support v1.8
[    3.826722] Registering SWP/SWPB emulation handler
[    3.831900] ubi0: attaching mtd15
[    3.899473] random: nonblocking pool is initialized
[    4.181298] ubi0: scanning is finished
[    4.186152] ubi0 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 34, need 40
[    4.186917] ubi0: attached mtd15 (name "alt_rootfs", size 74 MiB)
[    4.195382] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    4.201666] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    4.208414] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    4.215260] ubi0: good PEBs: 592, bad PEBs: 0, corrupted PEBs: 0
[    4.222040] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    4.228291] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 280948969
[    4.235315] ubi0: available PEBs: 0, total reserved PEBs: 592, PEBs reserved for bad PEB handling: 34
[    4.244297] ubi0: background thread "ubi_bgt0d" started, PID 128
[    4.257410] input: soc:gpio_keys as /devices/platform/soc/soc:gpio_keys/input/input0
[    4.259822] hctosys: unable to open rtc device (rtc0)
[    4.274313] ALSA device list:
[    4.274336]   No soundcards found.
[    4.280078] VFS: Mounted root (squashfs filesystem) readonly on device 31:18.
[    4.281286] Freeing unused kernel memory: 1024K (80c00000 - 80d00000)

boot log cont'd:

*********************************************************************************
              _        _  __    _    __ _____ __   __ _____
             | |      | ||  \  | |  / // ____]\ \ / // ____]TM
             | |      | ||   \ | | / /| (___   \ V /| (____
             | |      | || |\ \| |\ \  \____ \  \ /  \____ \
             | |_____ | || | \   | \ \  ____) | | |   ____) |
             |_______||_||_|  \__|  \_\[____ /  |_|  [_____/

 (c) 2013 Belkin International, Inc. and/or its affiliates. All rights reserved.
 Booting dominica (firmware version 1.1.4.209808)
*********************************************************************************
[utopia][init] System Initialization
[utopia][init] Creating /proc
[utopia][init] Creating /sys
[utopia][init] Creating /dev
[utopia][init] Creating /tmp
[utopia][init] Allocating 60M for /tmp
[utopia][init] Prepairing /dev/pts
[utopia][init] Setting /tmp and /var permissions
[utopia][init] Starting udev..
Attempting mount of ubifs syscfg partition
UBI device number 1, total 544 LEBs (69074944 bytes, 65.9 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
[utopia][init] Using persistent syscfg data from /var/config/syscfg
[utopia][init] Starting system logging
[utopia][init] Starting sysevent subsystem
/dev/mem opened.
Memory mapped at address 0x76f84000.
Value at address 0x1001000 (0x76f84000): 0xC1
Written 0xC9; readback 0xC9
[utopia][init] Starting blue ...
[utopia][init] Enabling DesignWare USB3 DRD Core drivers
[utopia][init] Loading QCA Ethernet, NSS and GMAC drivers
net.netfilter.nf_conntrack_acct = 1
[utopia][init] Late loading usb drivers
[utopia][init] Setting any unset system values to default
[utopia][init] no persistence config file (/var/config/pstcfg) found
setting up MAC addresses for all interface based on E8:9F:80:92:30:D5
NTP Servers do not need to be updated
[utopia][init] syscfg loaded removing tmp file

 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
The item is not initialized


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.


 SSDK Init OK!
operation done.

checking for interactive script start up...
no user scheduled tasks found...
senq running
/etc/init.d/service_senq.sh   Starting in mode 0
1970-01-01 00:00:21: node-mode running
Good block at 0x00000000
Updating BootCount Page[8]:4000 ... Done

[utopia][init] LAN Ports LED settings
[utopia][init] Loading Buttons drivers
[utopia][init] Setup link to WiFi firmware and board data (ME)
[utopia][init] Multi-region is supported and enabled
[utopia][init] Country: XME
lrwxrwxrwx    1 root     root            12 Jan 25  2022 IPQ5018 -> /tmp/IPQ5018
-rw-r--r--    1 root     root          7037 Jan 25  2022 firmware_rdp_feature.ini
-rw-r--r--    1 root     root          7081 Jan 25  2022 firmware_rdp_feature_512P.ini
drwxr-xr-x    2 root     root             3 Jan 25  2022 qca
-rw-r--r--    1 root     root        715476 Jan 25  2022 qca-nss0.bin
lrwxrwxrwx    1 root     root            12 Jan 25  2022 qcn9000 -> /tmp/qcn9000
[utopia][init] Using XME region for WiFi firmware and board data
[utopia][init] Load WiFi cal data from MTD(mtd7) to FS.
131072+0 records in
131072+0 records out
131072 bytes (128.0KB) copied, 1.028127 seconds, 124.5KB/s
131072+0 records in
131072+0 records out
131072 bytes (128.0KB) copied, 0.600569 seconds, 213.1KB/s
Size of caldata_1.bin = 131072 bytes.
### caldata_1.bin size is correct ###
131072+0 records in
131072+0 records out
131072 bytes (128.0KB) copied, 0.605481 seconds, 211.4KB/s
Size of caldata_1.bin = 131072 bytes.
### caldata_2.bin size is correct ###
[utopia][init] Loading WLAN drivers

/bin/sh: can't open '/etc/rc.common'
[utopia][init] Loading QCA Enhanced Connection manager
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
dev.nss.general.redirect = 1
[utopia][init] Initializing BTLE interface
[utopia][init] Bluetooth Mac Address: E8 9F 80 92 30 D5
[utopia][init] Cert Region: ME
16+0 records in
16+0 records out
16 bytes (16B) copied, 0.000435 seconds, 35.9KB/s
6+0 records in
6+0 records out
6 bytes (6B) copied, 0.000253 seconds, 23.2KB/s
2453+0 records in
2453+0 records out
2453 bytes (2.4KB) copied, 0.013030 seconds, 183.8KB/s
inserting fpbypass.ko for QCA
adding group for lldpd user

(none) login: Thu Oct 11 06:00:00 UTC 2012
Starting devicedb ...
wan, sysevent received: wan-start

DeviceDB database version 3
Options:
    Daemonize       : yes
    Server UDS Path   : /tmp/devicedb/server_link
    Database File     : /tmp/devicedb/devicedb.db
    DB Transient File : /tmp/devicedb/transient.db
DeviceDB Daily Backup Cron job created
No TopoDB persistence data to import
TopoDB data not imported
ping6: sendto: Network is unreachable
ARP agent not started: not in master mode.
lldpd event lan_ipaddr 192.168.1.1 received.
killall: lldpd: no process killed
lldpd event lldpd-start  received.
Starting ddd_ethernet_agent ...
setting root_accessible to 0 by default
setting root_accessible to 0 by default
lldp updating callback scripts
mosquitto aborting: not Master
2012-10-11T06:00:05 [WARN/main] another instance is running, please stop it
2012-10-11T06:00:05 [CRIT/main] giving up
>> LLDPD - ERROR STARTING DAEMON










































service_guardian.sh is called with lan-status
lldpd event lldp::root_accessible 0 received.
lldpd event ETH::port_3_status down received.
lldpd event ETH::port_4_status down received.
backhaul_switching status event backhaul::media 0 received on backhaul_switching_mgr
Backhaul media 0 received, but wifi status is not started. Will do backhaul check later
lldpd event ETH::port_5_status down received.
lldpd event ETH::port_2_status down received.
[utopia] Not setting ppp_clamp_mtu
Lighttpd Model Base: MX5500
Generating Rainier lighttpd config
nss_build_bypass is called with lan-started
Build temporary www configuration directory:
TSLIIHauhEfGE
Power cycle Ethernet ports.
Registering Service myrouter._http._tcp.local port 80
conntrack_parse running
creating conntrack cron job
ARP agent not started: not in master mode.
subscriber running
/etc/init.d/service_subscriber.sh subscriber-stop NULL MODE: 0
Got a reply for myrouter._http._tcp.local.: Name now registered and active
killall: omsgd: no process killed
killall: configure_me_monitor.sh: no process killed
rm: can't remove '/var/run/configure_me_monitor.sh.pid': No such file or directory
wifi, sysevent received: lan-started (Wed Oct 10 23:00:15 PDT 2012)
wifi, service_start()
[utopia][init] Loading GMAC and WLAN drivers
[utopia][init] Creating wifi devices
 Multi-region is supported and enabled
 Region: ME, Country: XME
SKU is MX5500-ME

Linksys03933 login: mosquitto aborting: not Master
service_guardian.sh is called with lan-status
smart connect client, generating client device data
rootbackhaul_switching status event system_state-normal received
Not ready for JNAP. Sleeping for 15 seconds...
wifi, wifi_physical_start(ath0)
dev.nss.n2hcfg.n2h_high_water_core0 = 8704
dev.nss.n2hcfg.extra_pbuf_core0 = 3100000
dev.nss.n2hcfg.n2h_high_water_core0 = 30624
dev.nss.n2hcfg.n2h_wifi_pool_buf = 8192
[utopia] Not setting ppp_clamp_mtu on dslite protocol
wan, sysevent received: phylink_wan_state
nss_build_bypass is called with ipv4_wan_ipaddr
dev.nss.n2hcfg.n2h_queue_limit_core0 = 256
ath0      No such device

lldpd event ipv4_wan_ipaddr 0.0.0.0 received.
getting geoip information for 0.0.0.0
curl: (6) Could not resolve: freegeoip.net (Could not contact DNS servers)
Auto channel
wifi, wifi_virtual_start(ath0)
wifi, wifi_user_start(ath0)

Password: fastpath, sysevent received: qos_enabled
wifi_user, ath0 TxBF enabled
dev.nss.general.redirect = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
wifi, primary AP: ath0 is up (Wed Oct 10 23:00:31 PDT 2012)
killall: mdns_lookup: no process killed
wifi, wifi_guest_start(ath0)
wifi, guest ath2 is disabled, do not start wifi guest
wifi, smart::mode is unconfigured do not start smart connect setup and config wifi
wifi, wifi_physical_start(ath1)
smart_connect, sysevent received: wifi-status starting
dev.nss.n2hcfg.n2h_high_water_core0 = 26528
sysctl: short write
dev.nss.n2hcfg.n2h_high_water_core0 = 30624
dev.nss.n2hcfg.n2h_wifi_pool_buf = 8192
LookUpMaster call OK.
mDNS lookup is on going...
2012-10-11 06:00:32: Setting defaults
dev.nss.n2hcfg.n2h_queue_limit_core0 = 256
ath1      No such device

List Flushed
Following channels are blocked from Channel selection algorithm
[116] [120] [124] [128]
List Flushed
Error received: -22
Could not send NL command
Following channels are blocked from Channel selection algorithm
[52] [56] [60] [64] [116] [120] [124] [128] [144]
configurator: got event(guardian-configured, )
nss_build_bypass is called with guardian-configured
Auto channel
wifi, wifi_virtual_start(ath1)
wifi, wifi_user_start(ath1)
configurator: got event(firewall-status, starting)
configurator: got event(firewall-status, started)
wifi_user, ath1 TxBF enabled
wifi_user, ath1 MU-MIMO enabled
configurator: got event(firewall-status, starting)
configurator: got event(firewall-status, started)
wifi, primary AP: ath1 is up (Wed Oct 10 23:00:36 PDT 2012)
wifi, wifi_guest_start(ath1)
wifi, guest ath3 is disabled, do not start wifi guest
wifi, start_hostapd()
wifi, start hostapd (Wed Oct 10 23:00:37 PDT 2012)
rfkill: Cannot open RFKILL control device
l2_packet_init: ioctl[SIOCGIFINDEX]: No such device
Failed to open l2_packet interface for vlan bridge
ACS: Automatic channel selection started, this may take a bit
ACS: Offloading to driver
rfkill: Cannot open RFKILL control device
l2_packet_init: ioctl[SIOCGIFINDEX]: No such device
Failed to open l2_packet interface for vlan bridge
ACS: Automatic channel selection started, this may take a bit
ACS: Offloading to driver
Restarting nfqrecv service...
Got a TERM signal, will terminate.
Warning! nfqrecv encountered errors when doing recv(): Interrupted system call
killall: nfqrecv: no process killed
configurator: got event(nfqrecv-status, stopped)
configurator: got event(nfqrecv-status, started)
nl80211: ACS Results: PFreq: 2437 SFreq: 2457 BW: 40 VHT0: 8 VHT1: 0 HW_MODE: 1 EDMGCH: 0
ath0: ACS-COMPLETED freq=2437 channel=6
wpa_driver_nl80211_set_key: ifindex=18 (ath0) alg=3 addr=0x54d40220 key_idx=1 set_tx=1 seq_len=0 key_len=16 key_flag=0x1a
ath0: interface state UNINITIALIZED->ENABLED
ath0: AP-ENABLED
ath0: IEEE 802.11 driver had channel switch: freq=2437, ht=1, vht_ch=0x0, offset=1, width=2 (40 MHz), cf1=2447, cf2=0
ath0: CTRL-EVENT-CHANNEL-SWITCH freq=2437 ht_enabled=1 ch_offset=1 ch_width=40 MHz cf1=2447 cf2=0 dfs=0
start mcsd succeeded (Wed Oct 10 23:00:42 PDT 2012)
23.00.42.499688 MCSD plugin   info : Initializing plugin manager
state_machine entering READY
btsetup smart_connect::setup_status
btpiad_ctl build version:1.0.58
nl80211: ACS Results: PFreq: 5500 SFreq: 5540 BW: 160 VHT0: 114 VHT1: 0 HW_MODE: 2 EDMGCH: 0
ath1: ACS-COMPLETED freq=5500 channel=100
btsetup: Unconfigured mode and Peripheral role
wpa_driver_nl80211_set_key: ifindex=19 (ath1) alg=3 addr=0x54d40220 key_idx=1 set_tx=1 seq_len=0 key_len=16 key_flag=0x1a
ath1: interface state UNINITIALIZED->ENABLED
ath1: AP-ENABLED
ath1: IEEE 802.11 driver had channel switch: freq=5500, ht=1, vht_ch=0x0, offset=1, width=5 (160 MHz), cf1=5570, cf2=0
ath1: CTRL-EVENT-CHANNEL-SWITCH freq=5500 ht_enabled=1 ch_offset=1 ch_width=160 MHz cf1=5570 cf2=0 dfs=0
smart_connect, sysevent received: wifi-status started
pub_devinfo_status:  Error: could not determine HOST_ADDR
Local Bluetooth MAC: E8:9F:80:92:30:D5
0x02 0x01 0x06 0x08 0x09 0x4C 0x69 0x6E 0x6B 0x73 0x79 0x73
0x05 0xFF 0x5C 0x00 0x00 0x00 0x11 0x07 0xD1 0x6F 0x01 0x40 0x94 0x0E 0x88 0xB7 0xC2 0x46 0xAB 0x8E 0x80 0x20 0x00 0x00
configurator: got event(firewall-status, starting)
configurator: got event(firewall-status, started)
pub_wlan_status:  Error: could not determine HOST_ADDR

Uboot

U-Boot 2016.01 (Mar 04 2022 - 17:36:21 +0800)

CBT U-Boot ver: 3.1.04  ([IPQ5018].[SPF11.3].[CS])

DRAM:  smem ram ptable found: ver: 1 len: 4
512 MiB
NAND:  QPIC controller support serial NAND
ID = 3a6c2
Vendor = c2
Device = a6
Serial Nand Device Found With ID : 0xc2 0xa6
Serial NAND device Manufature:MX35UF2GE4AD
Device Size:256 MiB, Page size:2048, Spare Size:128, ECC:8-bit
qpic_nand: changing oobsize to 80 from 128 bytes
SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   sdhci: Node Not found, skipping initialization

PCI Link Intialized
PCI1 is not defined in the device tree
In:    serial@78AF000
Out:   serial@78AF000
Err:   serial@78AF000
machid: 8040001
eth0 MAC Address from ART is not valid
eth1 MAC Address from ART is not valid

Updating boot_count ... done

Hit any key to stop autoboot:  0

Net:   cmbblk is stable 5
MAC1 addr:0:11:22:33:44:55
athrs17_reg_init: complete
S17c init  done
eth0
Warning: eth0 MAC addresses don't match:
Address in SROM is         00:11:22:33:44:55
Address in environment is  00:03:7f:ba:db:ad

IPQ5018# help
?       - alias for 'help'
ar8xxx_dump- Dump ar8xxx registers
base    - print or set address offset
bdinfo  - print Board Info structure
bootelf - Boot from an ELF image in memory
bootipq - bootipq from flash device
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
canary  - test stack canary
chpart  - change active partition
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
devinfo - device info handling commands
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exectzt - execute TZT

exit    - exit script
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
flash   - flash part_name
        flash part_name load_addr file_size

flasherase- flerase part_name

flinfo  - print FLASH memory information
fuseipq - fuse QFPROM registers from memory

go      - start application at address 'addr'
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
imxtract- extract a part of a multi-image
ipq5018_mdio- IPQ5018 mdio utility commands
ipq_mdio- IPQ mdio utility commands
is_sec_boot_enabled- check secure boot fuse is enabled or not

itest   - return true/false on integer compare
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mtdparts- define flash/nand partitions
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
part    - disk partition related commands
pci     - list and access PCI Configuration Space
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
runmulticore- Enable and schedule secondary cores
saveenv - save environment variables to persistent storage
secure_authenticate- authenticate the signed image

setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
smeminfo- print SMEM FLASH information
source  - run script from memory
test    - minimal test like /bin/sh
tftp    - boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
true    - do nothing, successfully
tzt     - load and run tzt

uart    - UART sub-system
ubi     - ubi commands
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
zip     - zip a memory region
IPQ5018# printenv
altkern=58c0000
auto_recovery=yes
baudrate=115200
boot_part=2
boot_part_ready=3
boot_ver=3.1.04
bootargs=console=ttyMSM0,115200n8
bootcmd=if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi
bootdelay=3
bootpart1=setenv bootargs $partbootargs && nand read $loadaddr $prikern $kernsize && bootm $loadaddr
bootpart2=setenv bootargs $partbootargs2 && nand read $loadaddr $altkern $kernsize && bootm $loadaddr
dload_dis=1
ethact=eth0
ethaddr=00:03:7f:ba:db:ad
fdt_high=0x4A400000
fdtcontroladdr=4a9c4004
flash_type=11
flashimg=tftp $loadaddr $image && nand erase $prikern $imgsize && nand write $loadaddr $prikern $filesize
flashimg2=tftp $loadaddr $image && nand erase $altkern $imgsize && nand write $loadaddr $altkern $filesize
image=MX5500.img
imgsize=5200000
ipaddr=192.168.1.1
kernsize=800000
loadaddr=44000000
machid=8040001
mtddevname=fs
mtddevnum=0
mtdids=nand0=nand0
mtdparts=mtdparts=nand0:0x4a00000@0xec0000(fs),
netmask=255.255.255.0
partbootargs=init=/sbin/init rootfstype=squashfs ubi.mtd=rootfs root=mtd:squashfs rootwait
partbootargs2=init=/sbin/init rootfstype=squashfs ubi.mtd=alt_rootfs root=mtd:squashfs rootwait
prikern=6c0000
serverip=192.168.1.254
soc_hw_version=20180101
soc_version_major=1
soc_version_minor=1
stderr=serial@78AF000
stdin=serial@78AF000
stdout=serial@78AF000

Environment size: 1437/262140 bytes

1 Like

Can I see your dts etc

ipq5018.dtsi

note: uboot expects the nand-controller be called 'qpic-nand@...'

// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
/*
 * IPQ5018 SoC device tree source
 *
 * Copyright (c) 2023 The Linux Foundation. All rights reserved.
 */

#include <dt-bindings/clock/qcom,apss-ipq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-ipq5018.h>
#include <dt-bindings/reset/qcom,gcc-ipq5018.h>

/ {
	interrupt-parent = <&intc>;
	#address-cells = <2>;
	#size-cells = <2>;

	clocks {
		sleep_clk: sleep-clk {
			compatible = "fixed-clock";
			#clock-cells = <0>;
		};

		xo_board_clk: xo-board-clk {
			compatible = "fixed-clock";
			#clock-cells = <0>;
		};
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		CPU0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			reg = <0x0>;
			enable-method = "psci";
			next-level-cache = <&L2_0>;
			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
			operating-points-v2 = <&cpu_opp_table>;
		};

		CPU1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			reg = <0x1>;
			enable-method = "psci";
			next-level-cache = <&L2_0>;
			clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
			operating-points-v2 = <&cpu_opp_table>;
		};

		L2_0: l2-cache {
			compatible = "cache";
			cache-level = <2>;
			cache-size = <0x80000>;
			cache-unified;
		};
	};

	cpu_opp_table: opp-table-cpu {
		compatible = "operating-points-v2";
		opp-shared;

		opp-800000000 {
			opp-hz = /bits/ 64 <800000000>;
			opp-microvolt = <1100000>;
			clock-latency-ns = <200000>;
		};

		opp-1008000000 {
			opp-hz = /bits/ 64 <1008000000>;
			opp-microvolt = <1100000>;
			clock-latency-ns = <200000>;
		};
	};

	firmware {
		scm {
			compatible = "qcom,scm-ipq5018", "qcom,scm";
		};
	};

	wcss: smp2p-wcss {
		compatible = "qcom,smp2p";
		qcom,smem = <435>, <428>;

		interrupt-parent = <&intc>;
		interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;

		qcom,ipc = <&apcs_glb 8 9>;

		qcom,local-pid = <0>;
		qcom,remote-pid = <1>;
		global_timer = <0x4A5000>;

		wcss_smp2p_out: master-kernel {
			qcom,entry-name = "master-kernel";
			qcom,smp2p-feature-ssr-ack;
			#qcom,smem-state-cells = <1>;
		};

		wcss_smp2p_in: slave-kernel {
			qcom,entry-name = "slave-kernel";
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};

	memory@40000000 {
		device_type = "memory";
		/* We expect the bootloader to fill in the size */
		reg = <0x0 0x40000000 0x0 0x0>;
	};

	pmu {
		compatible = "arm,cortex-a53-pmu";
		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		bt_region: bt@7000000 {
			no-map;
			reg = <0x0 0x07000000 0x0 0x58000>;
		};

		nss_region: nss@40000000 {
			no-map = <>;
			reg = <0x0 0x40000000 0x0 0x01000000>;	/* change to 8MB - 0x00800000 for 256 MB memory profile */
		};

		uboot@4a800000 {
			reg = <0x00 0x4a800000 0x00 0x200000>;
			no-map;
		};

		sbl@4aa00000 {
			no-map = <>;
			reg = <0x00 0x4aa00000 0x00 0x100000>;
		};

		smem@4ab00000 {
			compatible = "qcom,smem";
			reg = <0x0 0x4ab00000 0x0 0x100000>;
			no-map;

			hwlocks = <&tcsr_mutex 3>;
		};

		tz_region: tz@4ac00000 {
			reg = <0x0 0x4ac00000 0x0 0x200000>;
			no-map;
		};
	};

	soc: soc@0 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0 0 0xffffffff>;

		qfprom: efuse@a0000 {
			compatible = "qcom,ipq5018-qfprom", "qcom,qfprom";
			reg = <0xa0000 0x1000>;
			#address-cells = <1>;
			#size-cells = <1>;

			tsens_base1: base1@249 {
				reg = <0x249 2>;
				bits = <3 8>;
			};

			tsens_base2: base2@24a {
				reg = <0x24a 2>;
				bits = <3 8>;
			};

			tsens_mode: mode@249 {
				reg = <0x249 1>;
				bits = <0 3>;
			};

			tsens_s0_p1: s0-p1@24b {
				reg = <0x24b 0x2>;
				bits = <2 6>;
			};

			tsens_s0_p2: s0-p2@24c {
				reg = <0x24c 0x1>;
				bits = <1 6>;
			};

			tsens_s1_p1: s1-p1@24c {
				reg = <0x24c 0x2>;
				bits = <7 6>;
			};

			tsens_s1_p2: s1-p2@24d {
				reg = <0x24d 0x2>;
				bits = <5 6>;
			};

			tsens_s2_p1: s2-p1@24e {
				reg = <0x24e 0x2>;
				bits = <3 6>;
			};

			tsens_s2_p2: s2-p2@24f {
				reg = <0x24f 0x1>;
				bits = <1 6>;
			};

			tsens_s3_p1: s3-p1@24f {
				reg = <0x24f 0x2>;
				bits = <7 6>;
			};

			tsens_s3_p2: s3-p2@250 {
				reg = <0x250 0x2>;
				bits = <5 6>;
			};

			tsens_s4_p1: s4-p1@251 {
				reg = <0x251 0x2>;
				bits = <3 6>;
			};

			tsens_s4_p2: s4-p2@254 {
				reg = <0x254 0x1>;
				bits = <0 6>;
			};
		};

		tsens: thermal-sensor@4a9000 {
			compatible = "qcom,ipq5018-tsens";
			reg = <0x4a9000 0x1000>, /* TM */
			      <0x4a8000 0x1000>; /* SORT */

			nvmem-cells = <&tsens_mode>,
				      <&tsens_base1>,
				      <&tsens_base2>,
				      <&tsens_s0_p1>,
				      <&tsens_s0_p2>,
				      <&tsens_s1_p1>,
				      <&tsens_s1_p2>,
				      <&tsens_s2_p1>,
				      <&tsens_s2_p2>,
				      <&tsens_s3_p1>,
				      <&tsens_s3_p2>,
				      <&tsens_s4_p1>,
				      <&tsens_s4_p2>;

			nvmem-cell-names = "mode",
					   "base1",
					   "base2",
					   "s0_p1",
					   "s0_p2",
					   "s1_p1",
					   "s1_p2",
					   "s2_p1",
					   "s2_p2",
					   "s3_p1",
					   "s3_p2",
					   "s4_p1",
					   "s4_p2";

			interrupts = <GIC_SPI 184 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "uplow";
			#qcom,sensors = <5>;
			#thermal-sensor-cells = <1>;
		};

		mdio: mdio@88000 {
			compatible = "qcom,ipq5018-mdio", "qcom,ipq4019-mdio";
			reg = <0x00088000 0x64>;
			#address-cells = <1>;
			#size-cells = <1>;

			clocks = <&gcc GCC_MDIO0_AHB_CLK>;
			clock-names = "gcc_mdio0_ahb_clk";

			resets = <&gcc GCC_GEPHY_MDC_SW_ARES>;
			reset-names = "gephy_mdc_rst";

			status = "disabled";
		};

		mdio1: mdio@90000 {
			compatible = "qcom,ipq5018-mdio", "qcom,ipq4019-mdio";
			reg = <0x00090000 0x64>;
			#address-cells = <1>;
			#size-cells = <1>;

			clocks = <&gcc GCC_MDIO1_AHB_CLK>;
			clock-names = "gcc_mdio1_ahb_clk";
			
			status = "disabled";
		};

		prng: rng@e3000 {
			compatible = "qcom,prng-ee";
			reg = <0x000e3000 0x1000>;
			clocks = <&gcc GCC_PRNG_AHB_CLK>;
			clock-names = "core";
			status = "disabled";
		};

		cryptobam: dma-controller@704000 {
			compatible = "qcom,bam-v1.7.0";
			reg = <0x00704000 0x20000>;
			interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
			clock-names = "bam_clk";
			#dma-cells = <1>;
			qcom,ee = <1>;
			qcom,controlled-remotely;
			status = "disabled";
		};

		crypto: crypto@73a000 {
			compatible = "qcom,crypto-v5.1";
			reg = <0x0073a000 0x6000>;
			clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
				 <&gcc GCC_CRYPTO_AXI_CLK>,
				 <&gcc GCC_CRYPTO_CLK>;
			clock-names = "iface", "bus", "core";
			dmas = <&cryptobam 2>, <&cryptobam 3>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

		tlmm: pinctrl@1000000 {
			compatible = "qcom,ipq5018-tlmm";
			reg = <0x01000000 0x300000>;
			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
			gpio-controller;
			#gpio-cells = <2>;
			gpio-ranges = <&tlmm 0 0 47>;
			interrupt-controller;
			#interrupt-cells = <2>;

			uart1_pins: uart1-state {
				pins = "gpio31", "gpio32", "gpio33", "gpio34";
				function = "blsp1_uart1";
				drive-strength = <8>;
				bias-pull-down;
			};
		};

		gcc: clock-controller@1800000 {
			compatible = "qcom,gcc-ipq5018";
			reg = <0x01800000 0x80000>;
			clocks = <&xo_board_clk>,
				 <&sleep_clk>,
				 <0>,
				 <0>,
				 <0>,
				 <0>,
				 <0>,
				 <0>,
				 <0>;
			#clock-cells = <1>;
			#reset-cells = <1>;
			#power-domain-cells = <1>;
		};

		tcsr_mutex: hwlock@1905000 {
			compatible = "qcom,tcsr-mutex";
			reg = <0x01905000 0x20000>;
			#hwlock-cells = <1>;
		};

		tcsr: syscon@1937000 {
			compatible = "qcom,tcsr-ipq5018", "syscon", "simple-mfd";
			reg = <0x01937000 0x21000>;
			ranges = <0x0 0x01937000 0x21000>;
			#address-cells = <1>;
			#size-cells = <1>;

			pwm: pwm@a010 {
				compatible = "qcom,ipq5018-pwm", "qcom,ipq6018-pwm";
				reg = <0xa010 0x20>;
				clocks = <&gcc GCC_ADSS_PWM_CLK>;
				assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
				assigned-clock-rates = <100000000>;
				#pwm-cells = <2>;
				status = "disabled";
			};
		};

		tcsr_q6: syscon@1945000 {
			compatible = "syscon";
			reg = <0x1945000 0xe000>;
		};

		sdhc_1: mmc@7804000 {
			compatible = "qcom,ipq5018-sdhci", "qcom,sdhci-msm-v5";
			reg = <0x7804000 0x1000>;
			reg-names = "hc";

			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "hc_irq", "pwr_irq";

			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
				 <&gcc GCC_SDCC1_APPS_CLK>,
				 <&xo_board_clk>;
			clock-names = "iface", "core", "xo";
			non-removable;
			status = "disabled";
		};

		blsp_dma: dma-controller@7884000 {
			compatible = "qcom,bam-v1.7.0";
			reg = <0x07884000 0x1d000>;
			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
			clock-names = "bam_clk";
			#dma-cells = <1>;
			qcom,ee = <0>;
		};

		blsp1_uart1: serial@78af000 {
			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
			reg = <0x078af000 0x200>;
			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
				 <&gcc GCC_BLSP1_AHB_CLK>;
			clock-names = "core", "iface";
			status = "disabled";
		};

		blsp0_spi: spi@78b5000 {
			compatible = "qcom,spi-qup-v2.2.1";
			reg = <0x078b5000 0x600>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
				<&gcc GCC_BLSP1_AHB_CLK>;
			clock-names = "core", "iface";
			dmas = <&blsp_dma 4 &blsp_dma 5>;
			dma-names = "tx", "rx";
			spi-max-frequency = <50000000>;
			status = "disabled";
		};

		blsp2_i2c1: i2c@78b7000 {
			compatible = "qcom,i2c-qup-v2.2.1";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x078b7000 0x600>;
			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
				 <&gcc GCC_BLSP1_AHB_CLK>;
			clock-names = "core", "iface";
			clock-frequency = <400000>;
			dmas = <&blsp_dma 9>, <&blsp_dma 8>;
			dma-names = "tx", "rx";
			status = "disabled";
		};

		qpic_bam: dma-controller@7984000 {
			compatible = "qcom,bam-v1.7.0";
			reg = <0x7984000 0x1c000>;
			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&gcc GCC_QPIC_AHB_CLK>;
			clock-names = "bam_clk";
			#dma-cells = <1>;
			qcom,ee = <0>;
			status = "disabled";
		};

		qpic_nand: qpic-nand@79b0000 {
			compatible = "qcom,ip5018-nand";
			reg = <0x79b0000 0x10000>;
			#address-cells = <1>;
			#size-cells = <0>;
			clocks = <&gcc GCC_QPIC_CLK>,
				<&gcc GCC_QPIC_AHB_CLK>,
				<&gcc GCC_QPIC_IO_MACRO_CLK>;
			clock-names = "core", "aon", "io_macro";

			dmas = <&qpic_bam 0>,
				<&qpic_bam 1>,
				<&qpic_bam 2>,
				<&qpic_bam 3>;
			dma-names = "tx", "rx", "cmd", "status";
			status = "disabled";
		};

		intc: interrupt-controller@b000000 {
			compatible = "qcom,msm-qgic2";
			reg = <0x0b000000 0x1000>,  /* GICD */
			      <0x0b002000 0x2000>,  /* GICC */
			      <0x0b001000 0x1000>,  /* GICH */
			      <0x0b004000 0x2000>;  /* GICV */
			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
			interrupt-controller;
			#interrupt-cells = <3>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x0b00a000 0x1ffa>;

			v2m0: v2m@0 {
				compatible = "arm,gic-v2m-frame";
				reg = <0x00000000 0xff8>;
				msi-controller;
			};

			v2m1: v2m@1000 {
				compatible = "arm,gic-v2m-frame";
				reg = <0x00001000 0xff8>;
				msi-controller;
			};
		};

		watchdog: watchdog@b017000 {
			compatible = "qcom,apss-wdt-ipq5018", "qcom,kpss-wdt";
			reg = <0x0b017000 0x40>;
			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
			clocks = <&sleep_clk>;
		};

		apcs_glb: mailbox@b111000 {
			compatible = "qcom,ipq5018-apcs-apps-global",
				     "qcom,ipq6018-apcs-apps-global";
			reg = <0x0b111000 0x1000>;
			#clock-cells = <1>;
			clocks = <&a53pll>, <&xo_board_clk>, <&gcc GPLL0>;
			clock-names = "pll", "xo", "gpll0";
			#mbox-cells = <1>;
		};

		a53pll: clock@b116000 {
			compatible = "qcom,ipq5018-a53pll";
			reg = <0x0b116000 0x40>;
			#clock-cells = <0>;
			clocks = <&xo_board_clk>;
			clock-names = "xo";
		};

		timer@b120000 {
			compatible = "arm,armv7-timer-mem";
			reg = <0x0b120000 0x1000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			frame@b120000 {
				reg = <0x0b121000 0x1000>,
				      <0x0b122000 0x1000>;
				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
				frame-number = <0>;
			};

			frame@b123000 {
				reg = <0xb123000 0x1000>;
				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
				frame-number = <1>;
				status = "disabled";
			};

			frame@b124000 {
				frame-number = <2>;
				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
				reg = <0x0b124000 0x1000>;
				status = "disabled";
			};

			frame@b125000 {
				reg = <0x0b125000 0x1000>;
				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
				frame-number = <3>;
				status = "disabled";
			};

			frame@b126000 {
				reg = <0x0b126000 0x1000>;
				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
				frame-number = <4>;
				status = "disabled";
			};

			frame@b127000 {
				reg = <0x0b127000 0x1000>;
				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
				frame-number = <5>;
				status = "disabled";
			};

			frame@b128000 {
				reg = <0x0b128000 0x1000>;
				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
				frame-number = <6>;
				status = "disabled";
			};
		};

		wifi0: wifi@c000000 {
			compatible = "qcom,ipq5018-wifi";
			reg = <0x0c000000 0x1000000>;

			interrupts = <GIC_SPI 320 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 289 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 290 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 292 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 293 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 294 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 295 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 300 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 301 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 302 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 303 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 304 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 305 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 306 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 308 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 310 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 312 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 313 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 315 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 316 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 317 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 318 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 319 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 320 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 321 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 322 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 323 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 324 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 325 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 326 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 327 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 328 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 329 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 330 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 331 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 332 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 333 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 334 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 335 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 336 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 337 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 338 IRQ_TYPE_EDGE_RISING>,
				<GIC_SPI 339 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "misc-pulse1", 
				"misc-latch",
				"sw-exception",
				"ce0",
				"ce1",
				"ce2",
				"ce3",
				"ce4",
				"ce5",
				"ce6",
				"ce7",
				"ce8",
				"ce9",
				"ce10",
				"ce11",
				"host2wbm-desc-feed",
				"host2reo-re-injection",
				"host2reo-command",
				"host2rxdma-monitor-ring3",
				"host2rxdma-monitor-ring2",
				"host2rxdma-monitor-ring1",
				"reo2ost-exception",
				"wbm2host-rx-release",
				"reo2host-status",
				"reo2host-destination-ring4",
				"reo2host-destination-ring3",
				"reo2host-destination-ring2",
				"reo2host-destination-ring1",
				"rxdma2host-monitor-destination-mac3",
				"rxdma2host-monitor-destination-mac2",
				"rxdma2host-monitor-destination-mac1",
				"ppdu-end-interrupts-mac3",
				"ppdu-end-interrupts-mac2",
				"ppdu-end-interrupts-mac1",
				"rxdma2host-monitor-status-ring-mac3",
				"rxdma2host-monitor-status-ring-mac2",
				"rxdma2host-monitor-status-ring-mac1",
				"host2rxdma-host-buf-ring-mac3",
				"host2rxdma-host-buf-ring-mac2",
				"host2rxdma-host-buf-ring-mac1",
				"rxdma2host-destination-ring-mac3",
				"rxdma2host-destination-ring-mac2",
				"rxdma2host-destination-ring-mac1",
				"host2tcl-input-ring4",
				"host2tcl-input-ring3",
				"host2tcl-input-ring2",
				"host2tcl-input-ring1",
				"wbm2host-tx-completions-ring3",
				"wbm2host-tx-completions-ring2",
				"wbm2host-tx-completions-ring1",
				"tcl2host-status-ring";

			qcom,rproc = <&q6v5_wcss>;
			status = "disabled";			
		};

		q6v5_wcss: q6v5_wcss@cd00000 {
			compatible = "qcom,ipq5018-wcss-pil";
			reg = <0x0cd00000 0x4040>,
				<0x004ab000 0x20>,
				<0x004a1000 0x10>,
				<0x01938000 0x8>,
				<0x0193D204 0x4>;
			reg-names = "qdsp6",
				"rmb",
				"mpm",
				"tcsr-msip",
				"tcsr-q6-boot-trig";
			qca,auto-restart;
			qca,extended-intc;
			interrupts-extended = <&intc 0 291 1>,
					      <&wcss_smp2p_in 0 0>,
					      <&wcss_smp2p_in 1 0>,
					      <&wcss_smp2p_in 2 0>,
					      <&wcss_smp2p_in 3 0>;
			interrupt-names = "wdog",
					  "fatal",
					  "ready",
					  "handover",
					  "stop-ack";

			resets = <&gcc GCC_WCSSAON_RESET>,
				<&gcc GCC_WCSS_BCR>,
				<&gcc GCC_WCSS_Q6_BCR>,
				<&gcc GCC_CE_BCR>;

			reset-names = "wcss_aon_reset",
				"wcss_reset",
				"wcss_q6_reset",
				"ce_reset";

			clocks = <&gcc GCC_Q6_AXIS_CLK>,
					<&gcc GCC_WCSS_AHB_S_CLK>,
					<&gcc GCC_WCSS_ECAHB_CLK>,
					<&gcc GCC_WCSS_ACMT_CLK>,
					<&gcc GCC_WCSS_AXI_M_CLK>,
					<&gcc GCC_Q6_AXIM_CLK>,
					<&gcc GCC_Q6_AXIM2_CLK>,
					<&gcc GCC_Q6_AHB_CLK>,
					<&gcc GCC_Q6_AHB_S_CLK>,
					<&gcc GCC_WCSS_AXI_S_CLK>;
			clock-names = "gcc_q6_axis_clk",
					"gcc_wcss_ahb_s_clk",
					"gcc_wcss_ecahb_clk",
					"gcc_wcss_acmt_clk",
					"gcc_wcss_axi_m_clk",
					"gcc_q6_axim_clk",
					"gcc_q6_axim2_clk",
					"gcc_q6_ahb_clk",
					"gcc_q6_ahb_s_clk",
					"gcc_wcss_axi_s_clk";

			qcom,halt-regs = <&tcsr_q6 0xa000 0xd000 0x0>;

			qcom,smem-states = <&wcss_smp2p_out 0>,
					   <&wcss_smp2p_out 1>;
			qcom,smem-state-names = "shutdown",
						"stop";

			glink-edge {
				interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
				qcom,remote-pid = <1>;
				mboxes = <&apcs_glb 8>;

				rpm_requests {
					qcom,glink-channels = "IPCRTR";
				};
			};
		};
	};

	thermal-zones {
		ubi32-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&tsens 1>;

			trips {
				ubi32-critical {
					temperature = <120000>;
					hysteresis = <2>;
					type = "critical";
				};
			};
		};

		cpu-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&tsens 2>;

			trips {
				cpu-critical {
					temperature = <120000>;
					hysteresis = <2>;
					type = "critical";
				};
			};
		};

		top-glue-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&tsens 3>;

			trips {
				top_glue-critical {
					temperature = <120000>;
					hysteresis = <2>;
					type = "critical";
				};
			};
		};

		gephy-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&tsens 4>;

			trips {
				gephy-critical {
					temperature = <120000>;
					hysteresis = <2>;
					type = "critical";
				};
			};
		};
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
	};
};

ipq5018-mx2000.dts:

/dts-v1/;

#include "ipq5018.dtsi"
#include "ipq5018-ess.dtsi"
/*#include "ipq5018-thermal.dtsi"*/

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "Linksys MX2000 (Atlas 6)";
	compatible = "linksys,mx2000", "qcom,ipq5018";

    aliases {
		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */
		serial0 = &blsp1_uart1;
		ethernet0 = "/soc/dp1";
		ethernet1 = "/soc/dp2";
		led-boot = &led_system_blue;
		led-failsafe = &led_system_red;
		led-running = &led_system_blue;
		led-upgrade = &led_system_red;
	};

    chosen {
        /*bootargs = "console=ttyMSM0,115200,n8 rw init=/init";*/
        bootargs-append = " root=/dev/ubiblock0_1";
		stdout-path = "serial0:115200n8";
	};

	keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&button_pins>;
		pinctrl-names = "default";

		wps-button {
			label = "wps";
			gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_WPS_BUTTON>;
		};

		reset-button {
			label = "reset";
			gpios = <&tlmm 28 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
	};

	leds {
		compatible = "pwm-leds";

		led_system_red: red {
			label = "red";
			color = <LED_COLOR_ID_RED>;
			function = LED_FUNCTION_INDICATOR;
			pwms = <&pwm 3 1250000>;
			max-brightness = <255>;
		};

		green {
			label = "green";
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_INDICATOR;
			pwms = <&pwm 0 1250000>;
			max-brightness = <255>;
		};

		led_system_blue: blue {
			label = "blue";
			color = <LED_COLOR_ID_BLUE>;
			function = LED_FUNCTION_INDICATOR;
			pwms = <&pwm 1 1250000>;
			max-brightness = <255>;
			linux,default-trigger = "default-on";
		};
	};

	reserved-memory {
		q6_region: wcnss@4b000000 {
			/*compatible = <>*/
			no-map = <>;
			reg = <0x00 0x4b000000 0x00 0x1800000>;
		};

		m3_dump@4c800000 {
			no-map = <>;
			reg = <0x00 0x4c800000 0x00 0x100000>;
		};

		q6_etr_region: q6_etr_dump@4c900000 {
			no-map = <>;
			reg = <0x00 0x4c900000 0x00 0x100000>;
		};

		q6_caldb_region: q6_caldb_region@4cd00000 {
			no-map = <>;
			reg = <0x00 0x4ca00000 0x00 0x200000>;
		};

		qcn9000_pcie0@4cc00000 {
			no-map = <>;
			reg = <0x00 0x4cc00000 0x00 0x01e00000>;
		};

		mhi_region1: dma_pool1@4ea00000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x4ea00000 0x00 0x01000000>;
			no-map;
		};
	};
};

&blsp1_uart1 {
	status = "okay";
};

&blsp0_spi {
	status = "okay";
	pinctrl-0 = <&spi_0_pins>;
	pinctrl-names = "default";
	cs-select = <0>;

	/*flash@0 {
		compatible = "n25q128a11";
		linux,modalias = "m25p80", "n25q128a11";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0>;
		spi-max-frequency = <50000000>;
		use-default-sizes;
	};*/
};

&blsp2_i2c1 {
	status = "okay";
	pinctrl-0 = <&i2c_1_pins>;
	pinctrl-names = "default";
};

&crypto {
	status = "okay";
};

&cryptobam {
	status = "okay";
};

&dp1 {
	status = "okay";
	phy-handle = <&ipq5018_0>;
};

&mdio {
	status = "okay";

	ipq5018_0: ethernet-phy@0 {
		reg = <7>;
	};
};

&mdio1 {
	status = "okay";

	pinctrl-0 = <&mdio1_pins>;
	pinctrl-names = "default";
	phy-reset-gpio = <&tlmm 39 0>;

	qca8337_0: ethernet-phy@0 {
		reg = <0>;
	};

	qca8337_1: ethernet-phy@1 {
		reg = <1>;
	};

	qca8337_2: ethernet-phy@2 {
		reg = <2>;
	};

	qca8337_3: ethernet-phy@3 {
		reg = <3>;
	};

	qca8337_4: ethernet-phy@4 {
		reg = <4>;
	};

	switch1: ess-switch@1 {
		compatible = "qcom,ess-switch-qca83xx";
		device_id = <1>;
		switch_access_mode = "mdio";
		mdio-bus = <&mdio1>;
		
		status = "okay";

		switch_cpu_bmp = <0x40>;  /* cpu port bitmap */
		switch_lan_bmp = <0x1e>; /* lan port bitmap */
		switch_wan_bmp = <0x0>;  /* wan port bitmap */
		qca,ar8327-initvals = <
				0x00004 0x7600000   /* PAD0_MODE */
				0x00008 0x1000000   /* PAD5_MODE */
				0x0000c 0x80        /* PAD6_MODE */
				0x00010 0x2613a0    /* PORT6 FORCE MODE*/
				0x000e4 0xaa545     /* MAC_POWER_SEL */
				0x000e0 0xc74164de  /* SGMII_CTRL */
				0x0007c 0x4e        /* PORT0_STATUS */
				0x00094 0x4e        /* PORT6_STATUS */
		>;
		qcom,port_phyinfo {
			port@0 {
				port_id = <1>;
				phy_address = <0>;
			};

			port@1 {
				port_id = <2>;
				phy_address = <1>;
			};

			port@2 {
				port_id = <3>;
				phy_address = <2>;
			};

			port@3 {
				port_id = <4>;
				phy_address = <3>;
			};

			port@4 {
				port_id = <5>;
				phy_address = <4>;
			};
		};

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				label = "cpu";
				phy-handle = <&qca8337_0>;
				phy-mode = "psgmii";
				status = "okay";
			};

			port@1 {
				reg = <1>;
				label = "lan1";
				phy-handle = <&qca8337_1>;
				phy-mode = "psgmii";
				status = "okay";
			};

			port@2 {
				reg = <2>;
				label = "lan2";
				phy-handle = <&qca8337_2>;
				phy-mode = "psgmii";
				status = "okay";
			};

			port@3 {
				reg = <3>;
				label = "lan3";
				phy-handle = <&qca8337_3>;
				phy-mode = "psgmii";
				status = "okay";
			};

			port@4 {
				reg = <4>;
				label = "wan";
				phy-handle = <&qca8337_4>;
				phy-mode = "psgmii";
				status = "okay";
			};
		};
	};
};

&prng {
	status = "okay";
};

&pwm {
	status = "okay";
	pinctrl-0 = <&pwm_pins>;
	pinctrl-names = "default";
};

&qfprom {
	status = "okay";
};

&qpic_bam {
	status = "okay";
};

&qpic_nand {
	pinctrl-0 = <&qpic_pins>;
	pinctrl-names = "default";
    status = "okay";

    nand@0 {
        compatible = "qcom,nandcs";
        reg = <0>;
        #address-cells = <1>;
        #size-cells = <1>;

        nand-ecc-strength = <4>;
        nand-ecc-step-size = <512>;
        nand-bus-width = <8>;

        partitions {
            compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "0:SBL1";
				reg = <0x00000000 0x80000>;
				read-only;
			};

            partition@80000 {
				label = "0:MIBIB";
				reg = <0x00080000 0x20000>;
				read-only;
			};

            partition@100000 {
				label = "0:QSEE";
				reg = <0x00100000 0x100000>;
				read-only;
			};

            partition@200000 {
				label = "0:DEVCFG";
				reg = <0x00200000 0x40000>;
				read-only;
			};

            partition@240000 {
				label = "0:CDT";
				reg = <0x00240000 0x40000>;
				read-only;
			};

            partition@280000 {
				label = "0:APPSBLENV";
				reg = <0x00280000 0x20000>;
			};

            partition@300000 {
				label = "0:APPSBL";
				reg = <0x00300000 0x140000>;
				read-only;
			};

            partition@440000 {
				compatible = "nvmem-cells";
				label = "0:ART";
				reg = <0x00440000 0x100000>;
				#address-cells = <1>;
				#size-cells = <1>;
				read-only;
			};

            partition@540000 {
				label = "0:TRAINING";
				reg = <0x00540000 0x80000>;
				read-only;
			};

            partition@5c0000 {
				label = "u_env";
				reg = <0x005c0000 0x80000>;
			};

            partition@640000 {
				label = "s_env";
				reg = <0x00640000 0x40000>;
			};

            partition@680000 {
				label = "devinfo";
				reg = <0x00680000 0x40000>;
				read-only;
			};

            partition@6c0000 {
				label = "kernel";
				reg = <0x006c0000 0x5200000>;
			};

            partition@ec0000 {
				label = "rootfs";
				reg = <0x0ec0000 0x4a00000>;
			};

            partition@58c0000 {
				label = "alt_kernel";
				reg = <0x058c0000 0x5200000>;
			};

            partition@60c0000 {
				label = "alt_rootfs";
				reg = <0x060c0000 0x4a00000>;
			};

            partition@aac0000 {
				label = "sysdiag";
				reg = <0x0aac0000 0x200000>;
				read-only;
			};

            partition@acc0000 {
				label = "syscfg";
				reg = <0x0acc0000 0x4400000>;
				read-only;
			};
        };
    };
};

&switch {
	status = "okay";

	device_id = <0>;
	switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/
	cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/

	qcom,port_phyinfo {
		port@0 {
			port_id = <1>;
			phy_address = <7>;
		};
		port@1 {
			port_id = <2>;
			forced-speed = <1000>;
			forced-duplex = <1>;
		};
	};

	led_source@0 {
		source = <0>;
		mode = "normal";
		speed = "all";
		blink_en = "enable";
		active = "high";
	};
};

&tlmm {
	button_pins: button-state {
        pins = "gpio27", "gpio28";
        function = "gpio";
        drive-strength = <8>;
        bias-pull-up;
	};

	i2c_1_pins: i2c-1-state {
		pins = "gpio25", "gpio26";
		function = "blsp2_i2c1";
		drive-strength = <8>;
		bias-disable;
	};

	mdio1_pins: mdio-state {
		mdc-pins {
			pins = "gpio36";
			function = "mdc";
			drive-strength = <8>;
			bias-pull-up;
		};

		mdio-pins {
			pins = "gpio37";
			function = "mdio";
			drive-strength = <8>;
			bias-pull-up;
		};
	};

	pwm_pins: pwm-state {
		mux_1 {
			pins = "gpio43";
			function = "pwm1";
			drive-strength = <8>;
		};

		mux_2 {
			pins = "gpio45";
			function = "pwm3";
			drive-strength = <8>;
		};

		mux_3 {
			pins = "gpio42";
			function = "pwm0";
			drive-strength = <8>;
			bias-disable;
		};
	};

	qpic_pins: qpic-state {
		pins = "gpio9", "gpio8", "gpio7", "gpio6", "gpio5", "gpio4";
		function = "qpic";
		drive-strength = <8>;
		bias-disable;
	};

	/*
	serial_0_pins: serial0-state {
		pins = "gpio20", "gpio21";
		function = "blsp0_uart0";
		drive-strength = <8>;
		bias-disable;
	};
	*/

	spi_0_pins: spi-0-state {
		pins = "gpio10", "gpio11", "gpio12", "gpio13";
		function = "blsp0_spi";
		drive-strength = <8>;
		bias-disable;
	};
};

&tsens {
	status = "okay";
};

I don't know why your kernel isn't booting, your issue is in the dts tho

thanks anyway @SpectreDev. @robimarko any idea why the kernel doesn't load and is stuck at:

Bytes transferred = 12518024 (bf0288 hex)
IPQ5018# bootm
## Loading kernel from FIT Image at 50000000 ...
   Using 'config@1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.1.55
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x500000e8
     Data Size:    12494324 Bytes = 11.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   35b488ef
     Hash algo:    sha1
     Hash value:   3409792927165c2233fc76fef77edbeb4fbf01d6
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 50000000 ...
   Using 'config@1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt linksys_mx2000 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x50bea81c
     Data Size:    21798 Bytes = 21.3 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   b42cc538
     Hash algo:    sha1
     Hash value:   18652c6140c71b343c438826f2230bd10cdac4a7
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x50bea81c
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3f7000, end 4a3ff525 ... OK
Using machid 0x8040004 from environment

Starting kernel ...

Jumping to AARCH64 kernel via monitor

Enable earlycon

still stuck at the same after setting:

chosen {
        bootargs = "earlycon console=ttyMSM0,115200n8";
        bootargs-append = " root=/dev/ubiblock0_1";
		stdout-path = "serial0:115200n8";
	};

Is it maybe the target recipe?

define Device/linksys_mx2000
	$(call Device/FitImage)
	DEVICE_VENDOR := Linksys
	DEVICE_MODEL := MX2000
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	KERNEL_SIZE := 8192k
	IMAGE_SIZE := 83968k
	SOC := ipq5018
	UBINIZE_OPTS := -E 5	# EOD marks to "hide" factory sig at EOF
	IMAGES += factory.bin
	IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MX2000
	DEVICE_PACKAGES := ipq-wifi-linksys_mx2000 kmod-spi-dev kmod-bluetooth
endef
TARGET_DEVICES += linksys_mx2000

It's not enough to append earlycon in the bootargs. You need to enable earlycon in the kernel config + force the command line.

pardon my ignorance, first time I'm building a new target for openwrt. I've enabled earlycon in 'make kernel_menuconfig', how do I force the command line? thanks in advance

CONFIG_CMDLINE_FORCE in kernel config.

1 Like