Adding Support for Verizon CR1000A

Ok so now I tried to network boot the unencrypted stock kernel. I didnt expect very much success here but successfully starts the kernel. It fails shortly after, I think because uboot sets a los of environment variable s for it to use that isnt happening when I try boot the image directly.

Also, the kernel is writing to serial out when booting it directly. Weird

IPQ807x# setenv loadaddr 44000000;setenv ipaddr 192.168.0.10;setenv serverip 192.168.0.1;
IPQ807x# tftpboot unenc_kernelfit.bin; bootm
ipq807x_eth_halt: done
Phy ops not mapped
Phy ops not mapped
Phy ops not mapped
Phy ops not mapped
Phy ops not mapped
eth0 PHY5 up Speed :1000 Full duplex
ipq807x_eth_init: done
Using eth0 device
TFTP from server 192.168.0.1; our IP address is 192.168.0.10
Filename 'unenc_kernelfit.bin'.
Load address: 0x44000000
Loading: *
Got TFTP_OACK: TFTP remote port: changes from 69 to 44443
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##
         2.1 MiB/s
done
Bytes transferred = 21019608 (140bbd8 hex)
ipq807x_eth_halt: done
## Loading kernel from FIT Image at 44000000 ...
   Using 'config@hk11.c1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@1' kernel subimage
     Description:  ARM64 OpenWrt Linux-4.4.60
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000e8
     Data Size:    11625637 Bytes = 11.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41080000
     Entry Point:  0x41080000
     Hash algo:    crc32
     Hash value:   fe2896cb
     Hash algo:    sha1
     Hash value:   e3efa2d352d4e835f00de5ec0b07dfa15ebee344
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 44000000 ...
   Using 'config@hk11.c1' configuration
   Trying 'fdt@hk11.c1' fdt subimage
     Description:  ARM64 OpenWrt qcom-ipq807x-hkxx device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x44d06d58
     Data Size:    87973 Bytes = 85.9 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   0c3619e6
     Hash algo:    sha1
     Hash value:   79d8c683855154e482248a0b57b8f591a0ef9c50
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x44d06d58
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3e7000, end 4a3ff7a4 ... OK
Using machid 0x8010012 from environment

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    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 (chunpin_shao@dockerbuild) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 026c532+r49254) ) #2 SMP PREEMPT Thu May 12 04:10:41 UTC 2022
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Ignoring memory range 0x40000000 - 0x41000000
[    0.000000] Machine: Qualcomm Technologies, Inc. IPQ807x/AP-HK11-C1
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: OVERLAP DETECTED!
[    0.000000] wifi_dump@51f00000 (0x0000000051f00000--0x0000000052500000) overlaps with wigig_dump@52100000 (0x0000000052100000--0x0000000052500000)
[    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 15 pages/cpu @ffffffc07ef41000 s20864 r8192 d32384 u61440
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 479556
[    0.000000] Kernel command line: console=ttyMSM0,115200n8 vmalloc=900M cnss2.bdf_pci0=0xa4 root=PARTUUID=726de7d6-3fbb-8755-1cbe-68409ea2a227 gpt rootwait swiotlb=1 coherent_pool=2M
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] software IO TLB [mem 0xbfdba000-0xbfdfa000] (0MB) mapped at [ffffffc07edba000-ffffffc07edf9fff]
[    0.000000] Memory: 1894576K/1948672K available (5868K kernel code, 652K rwdata, 2432K rodata, 7488K init, 532K bss, 54096K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vmalloc : 0xffffff8000000000 - 0xffffffbdbfff0000   (   246 GB)
[    0.000000]     vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000   (     8 GB maximum)
[    0.000000]               0xffffffbdc0040000 - 0xffffffbdc2000000   (    31 MB actual)
[    0.000000]     fixed   : 0xffffffbffa7fd000 - 0xffffffbffac00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000   (    16 MB)
[    0.000000]     modules : 0xffffffbffc000000 - 0xffffffc000000000   (    64 MB)
[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc07f000000   (  2032 MB)
[    0.000000]       .init : 0xffffffc00089d000 - 0xffffffc000fed000   (  7488 KB)
[    0.000000]       .text : 0xffffffc000080000 - 0xffffffc00089d000   (  8308 KB)
[    0.000000]       .data : 0xffffffc000ffc000 - 0xffffffc00109f200   (   653 KB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 64.
[    0.000000] NR_IRQS:64 nr_irqs:64 0
[    0.000000] Architected cp15 timer(s) running at 19.20MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000005] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000444] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000456] pid_max: default: 32768 minimum: 301
[    0.000550] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000560] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.001137] Initializing cgroup subsys io
[    0.001153] Initializing cgroup subsys memory
[    0.001178] Initializing cgroup subsys devices
[    0.001189] Initializing cgroup subsys freezer
[    0.001200] Initializing cgroup subsys net_cls
[    0.001210] Initializing cgroup subsys net_prio
[    0.001220] Initializing cgroup subsys pids
[    0.001459] EFI services will not be available.
[    0.001479] ASID allocator initialised with 65536 entries
[    0.052117] MSM Memory Dump base table set up
[    0.052136] MSM Memory Dump apps data table set up
[    0.090037] Detected VIPT I-cache on CPU1
[    0.090081] CPU1: Booted secondary processor [410fd034]
[    0.120032] Detected VIPT I-cache on CPU2
[    0.120061] CPU2: Booted secondary processor [410fd034]
[    0.150061] Detected VIPT I-cache on CPU3
[    0.150089] CPU3: Booted secondary processor [410fd034]
[    0.150143] Brought up 4 CPUs
[    0.150168] SMP: Total of 4 processors activated.
[    0.150178] CPU: All CPU(s) started at EL1
[    0.150202] alternatives: patching kernel code
[    0.150688] devtmpfs: initialized
[    0.169433] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.169465] futex hash table entries: 1024 (order: 5, 131072 bytes)
[    0.169833] pinctrl core: initialized pinctrl subsystem
[    0.170786] NET: Registered protocol family 16
[    0.200007] cpuidle: using governor ladder
[    0.230025] cpuidle: using governor menu
[    0.230240] NET: Registered protocol family 42
[    0.230359] vdso: 2 pages (1 code @ ffffffc001001000, 1 data @ ffffffc001000000)
[    0.230390] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.231040] DMA: preallocated 2048 KiB pool for atomic allocations
[    0.231217] CPU: IPQ8072A, SoC Version: 2.0
[    0.231644] IPC logging disabled
[    0.231650] IPC logging disabled
[    0.231655] IPC logging disabled
[    0.231660] IPC logging disabled
[    0.231664] IPC logging disabled
[    0.234475] Soc version is not 1, changing clock offsets
[    0.246247] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.249101] irq: no irq domain found for /soc/smp2p-wcss/slave-kernel !
[    0.252775] sps:sps is ready.
[    0.259964] spmi spmi-0: PMIC Arb Version-2 (0x20010000)
[    0.266596] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.266896] qcom,cpr3-npu-regulator a4000.npu-cpr: NPU CPR valid fuse count: 2
[    0.302242] pps_core: LinuxPPS API ver. 1 registered
[    0.302249] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.302273] PTP clock support registered
[    0.303853] Advanced Linux Sound Architecture Driver Initialized.
[    0.304552] clocksource: Switched to clocksource arch_sys_counter
[    0.308151] NET: Registered protocol family 2
[    0.308770] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.308974] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[    0.309335] TCP: Hash tables configured (established 16384 bind 16384)
[    0.309394] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[    0.309457] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[    0.309671] NET: Registered protocol family 1
[    5.729403] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    5.739743] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    5.739761] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    5.743335] Key type asymmetric registered
[    5.743351] Asymmetric key parser 'x509' registered
[    5.743383] io scheduler noop registered
[    5.743396] io scheduler deadline registered (default)
[    5.745924] 20000000.pci supply vdda not found, using dummy regulator
[    5.745970] 20000000.pci supply vdda_phy not found, using dummy regulator
[    5.746009] 20000000.pci supply vdda_refclk not found, using dummy regulator
[    5.746721] PCI host bridge /soc/pci@20000000 ranges:
[    5.746748]    IO 0x20200000..0x2020ffff -> 0x20200000
[    5.746762]   MEM 0x20220000..0x2fffffff -> 0x20220000
[    5.996093] qcom-pcie 20000000.pci: link up
[    5.996242] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00
[    5.996256] pci_bus 0000:00: root bus resource [bus 00-ff]
[    5.996269] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x20200000-0x2020ffff])
[    5.996279] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff]
[    5.996601] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    5.997509] pci 0000:00:00.0: BAR 8: assigned [mem 0x20400000-0x205fffff]
[    5.997524] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref]
[    5.997537] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff 64bit]
[    5.997553] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    5.997568] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit]
[    5.997616] pci 0000:00:00.0: PCI bridge to [bus 01]
[    5.997627] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    5.997638] pci 0000:00:00.0:   bridge window [mem 0x20400000-0x205fffff]
[    5.997650] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref]
[    5.997704] PCIe: RC0 enabled during bootup
[    5.997914] 10000000.pci supply vdda not found, using dummy regulator
[    5.997982] 10000000.pci supply vdda_phy not found, using dummy regulator
[    5.998017] 10000000.pci supply vdda_refclk not found, using dummy regulator
[    5.998629] PCI host bridge /soc/pci@10000000 ranges:
[    5.998652]    IO 0x10200000..0x1020ffff -> 0x10200000
[    5.998666]   MEM 0x10220000..0x1fffffff -> 0x10220000
[    7.144617] qcom-pcie 10000000.pci: phy link never came up
[    7.146175] qcom-pcie 10000000.pci: hostinit failed
[    7.146185] qcom-pcie 10000000.pci: cannot initialize host
[    7.146321] qcom-pcie: probe of 10000000.pci failed with error -110
[    7.146766] MDSS QPIC HW Base phy_Address=0x7980000 virt=ffffff80005c0000
[    7.147188] mdss_qpic_panel_probe: Panel Name = qpic lcd panel
[    7.148494] mdss_fb_register: FrameBuffer[0] 800x480 registered successfully!
[    7.152485] msm_rpm_log_probe: OK
[    7.152852] msm-dcc b3000.dcc: DCC XPU is not specified
[    7.153178] msm-dcc b3000.dcc: jiffies_64: 0xffff8d9a, cntvct_64: 0xb8257733
[    7.153190] msm-dcc b3000.dcc: gcnt_hi: 0x00000000(0xffffff80005bc004)
[    7.153201] msm-dcc b3000.dcc: gcnt_lo: 0xb8257917(0xffffff80005bc000)
[    7.153826] TZ SMMU State: SMMU Stage2 Enabled
[    7.153882] TZ Log : Will warn on Access Violation, as paniconaccessviolation is not set
[    7.155646] msm_serial 78b3000.serial: msm_serial: detected port #0
[    7.155692] msm_serial 78b3000.serial: uartclk = 3686400
[    7.155732] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 78, base_baud = 230400) is a MSM
[    7.155754] msm_serial: console setup on port #0
[    8.093932] console [ttyMSM0] enabled
[    8.098981] msm_serial 78b1000.serial: msm_serial: detected port #1
[    8.102198] msm_serial 78b1000.serial: uartclk = 19200000
[    8.108283] 78b1000.serial: ttyMSM1 at MMIO 0x78b1000 (irq = 79, base_baud = 1200000) is a MSM
[    8.114213] msm_serial: driver initialized
[    8.122658] msm_serial_hsl_init: driver initialized
[    8.136237] brd: module loaded
[    8.140916] loop: module loaded
[    8.141546] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[    8.144430] m25p80 spi32766.0: unrecognized JEDEC id bytes: ff, ff, ff
[    8.151034] QPIC controller hw version Major:1, Minor:5
[    8.177666] nand: No NAND device found

1 Like