1. What is the recommended way to leverage the ADRV9009 HDL Reference Design example for a custom board that uses Xilinx Zynq Ultrascale+ FPGA to communicate with the ADRV9009? a. How should the drivers needed for the ADI IPs and libiio be integrated into Petalinux? b. Can someone build a Petalinux OS using the Vivado generated .hdf file from a modified version of the HDL example.
2. Is there a resource on how to create a device tree file for a generic platform interfacing with the ADRV9009? a. Is ADI provided yocto layer (meta-adi) a possibility for an OS solution? It seems tailored for the example designs. Can it be modified to fit a custom platform? b. For example we use HMC7044 ultra low phase noise clock chip instead of ad9528 that is used on the ADRV9009 evaluation board [1].
3. Is the no-os software portable to run on a linux kernel, and does ADI see any issues if we try to run on the no-os software on a linux kernel?
Thanks
Charly
Hello Charly,
So likely we figured it is power issue on our part. But will post more information if not the case
Yes it was a power issue after all!
Regards,
Adrian
Hi, allow me to expand on the questions that Charly posted on our behalf...
1. We have gone through the user guide for the adrv9009 to build the HDL reference design and accompanying Petalinux project for the ZCU102. This process is fairly simple as it's outlined in the links you posted. What we are having trouble with now is, after modifying the HDL reference design to target our custom board, we are not sure how to create a matching Petalinux image.
The 'Building with Petalinux' guide shows how to bring in ADI's yocto layer (meta-adi) and choose the right device tree for the build. While our custom solution is a derivative of the ZCU102 HDL reference design, it isn't exactly the same. Thus, we encounter errors during build using our custom HDL paired with the 'zynqmp-zcu102-rev10-adrv9009' device tree, which is to be expected.
I am not sure how we can modify these device trees, or where to located them because I cannot find them in the meta-adi repo (with the exception of the pl-delete-nodes-*.dtsi files). Any guidance on how to move forward from here?
Thanks!
Hi,
The ADI Linux kernel is built by Petalinux (https://github.com/analogdevicesinc/meta-adi/blob/master/meta-adi-xilinx/recipes-kernel/linux/linux-adi.inc#L8), so the devicetree you are looking for should be: https://github.com/analogdevicesinc/linux/blob/master/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-adrv9009.dts
For extending the devicetree, I would look at https://github.com/analogdevicesinc/meta-adi/tree/master/meta-adi-xilinx#extending-the-devicetree.
Thanks,Dragos
Hi Dragos,
Thank you for pointing me to the location of this device tree. Is my understanding correct that this device tree is pulled from the analogdevicesinc/linux repo during the build process?
I am not well versed in Linux as I would like to be, so I would like some clarification on extending the device tree. From the description on the readme you linked, it sounds like we can add new nodes to system-user.dtsi. Is it also possible to direct removal of a node, or re-define a node through system-user.dtsi as well? For example, we have modified the reference HDL design by removing the IP cores for the RX OS channel. How should we go about specifying this in system-user.dtsi?
Thanks,Dave
Hi Dave,
That's correct: one of the petalinux-build's tasks is to do a git-fetch of the ADI repository:
Currently 1 running tasks (3375 of 3456) 97% 0: linux-xlnx-4.19-adi_master+gitAUTOINC+0a023430ca-r0 do_fetch (pid 72115) 67%
Did you try to add:
/delete-node/ &axi_adrv9009_core_rx_obs;
to system-user.dtsi ?
This is very helpful. I will try adding /delete-node/ to my system-user.dtsi. Is the syntax/usage of this directive similar to what's shown in this example?
And just to solidify my understanding, to build a working Petalinux image for a modified HDL design, we just need to add the meta-adi layer and extend the device tree by adding/deleting/changing nodes through system-user.dtsi? Is there anything else that I may be overlooking on the Petalinux side?
I was finally able to finish a build with your suggestion plus a few other changes. I added:
Then, I also added:
/delete-node/ &rx_obs_dma;
to system-user.dtsi. I figured this /delete-node/ was necessary because the entire RX OS path was stripped out of the example HDL design (including the RX OS dma). I also tried to add /delete-nodes/ for the other RX OS related nodes present in 'zynqmp-zcu102-rev10-adrv9009.dts', but this resulted in errors during build. This leads me to my first question:
1. Where and how do you find which nodes to delete? I assume it isn't the 'zynqmp-zcu102-rev10-adrv9009.dts' file because there's no reference to &axi_adrv9009_core_rx_obs, which is the node you pointed out. In the example HDL, the RX OS path consists of a few cores. Shouldn't I delete more than just &axi_adrv9009_core_rx_obs?
As part of this build, I also modified 'pl-delete-nodes-zynqmp-zcu102-rev10-adrv9009.dtsi'. The references to the RX OS cores were causing errors, so I removed them. Now, with these changes I completed a build, but when I load it on hardware through JTAG, I see the following kernel panic:
Xilinx Zynq MP First Stage Boot Loader Release 2018.3 Aug 22 2020 - 00:03:40 NOTICE: ATF running on XCZU4CG/silicon v4/RTL5.1 at 0xfffea000 NOTICE: BL31: Secure code at 0x60000000 NOTICE: BL31: Non secure code at 0x8000000 NOTICE: BL31: v1.5(release):xilinx-v2018.2-919-g08560c36 NOTICE: BL31: Built : 00:02:59, Aug 22 2020 PMUFW: v1.1 U-Boot 2018.01 (Apr 20 2020 - 14:45:25 -0700) Xilinx ZynqMP ZCU102 rev1.0 I2C: ready DRAM: 1023 MiB EL Level: EL2 Chip ID: zu4cg MMC: sdhci@ff160000: 0 (eMMC) reading uboot.env In: serial@ff000000 Out: serial@ff000000 Err: serial@ff000000 Board: Xilinx ZynqMP Net: ZYNQ GEM: ff0b0000, phyaddr 9, interface gmii eth0: ethernet@ff0b0000 Hit any key to stop autoboot: 0 ZynqMP> setenv bootargs "earlycon clk_ignore_unused console=ttyPS0,115200" ZynqMP> bootm ## Loading kernel from FIT Image at 10000000 ... Using 'conf@system-top.dtb' configuration Trying 'kernel@1' kernel subimage Description: Linux kernel Type: Kernel Image Compression: gzip compressed Data Start: 0x10000100 Data Size: 7607634 Bytes = 7.3 MiB Architecture: AArch64 OS: Linux Load Address: 0x00080000 Entry Point: 0x00080000 Hash algo: sha1 Hash value: 78c38b821e35e1b02c88f5dae9eecbdf808f0211 Verifying Hash Integrity ... sha1+ OK ## Loading ramdisk from FIT Image at 10000000 ... Using 'conf@system-top.dtb' configuration Trying 'ramdisk@1' ramdisk subimage Description: petalinux-user-image Type: RAMDisk Image Compression: gzip compressed Data Start: 0x10754a54 Data Size: 8560952 Bytes = 8.2 MiB Architecture: AArch64 OS: Linux Load Address: unavailable Entry Point: unavailable Hash algo: sha1 Hash value: 1be349da8f30b6b70aba6e5939e92fedaf767f40 Verifying Hash Integrity ... sha1+ OK ## Loading fdt from FIT Image at 10000000 ... Using 'conf@system-top.dtb' configuration Trying 'fdt@system-top.dtb' fdt subimage Description: Flattened Device Tree blob Type: Flat Device Tree Compression: uncompressed Data Start: 0x10741758 Data Size: 78390 Bytes = 76.6 KiB Architecture: AArch64 Hash algo: sha1 Hash value: d67466ba6570e8c97cf918081590f5f98fb9d979 Verifying Hash Integrity ... sha1+ OK Booting using the fdt blob at 0x10741758 Uncompressing Kernel Image ... OK Loading Ramdisk to 077d5000, end 07fff138 ... OK Loading Device Tree to 00000000077be000, end 00000000077d4235 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.14.0-xilinx- (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Sat Aug 22 00:18:08 UTC 2020 [ 0.000000] Boot CPU: AArch64 Processor [410fd034] [ 0.000000] Machine model: ZynqMP ZCU102 Rev1.0 [ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8') [ 0.000000] bootconsole [cdns0] enabled [ 0.000000] efi: Getting EFI parameters from FDT: [ 0.000000] efi: UEFI not found. [ 0.000000] cma: Reserved 256 MiB at 0x0000000070000000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] percpu: Embedded 21 pages/cpu @ffffffc87ff76000 s46488 r8192 d313 36 u86016 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: enabling workaround for ARM erratum 845719 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1034240 [ 0.000000] Kernel command line: earlycon clk_ignore_unused console=ttyPS0,11 5200 [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes ) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) [ 0.000000] software IO TLB [mem 0x6bfff000-0x6ffff000] (64MB) mapped at [fff fffc06bfff000-ffffffc06fffefff] [ 0.000000] Memory: 3775196K/4194304K available (10492K kernel code, 756K rwd ata, 4500K rodata, 512K init, 2164K bss, 156964K reserved, 262144K cma-reserved) [ 0.000000] Virtual kernel memory layout: [ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 M B) [ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000 ( 250 G B) [ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008ac0000 ( 10496 K B) [ 0.000000] .rodata : 0xffffff8008ac0000 - 0xffffff8008f30000 ( 4544 K B) [ 0.000000] .init : 0xffffff8008f30000 - 0xffffff8008fb0000 ( 512 K B) [ 0.000000] .data : 0xffffff8008fb0000 - 0xffffff800906d200 ( 757 K B) [ 0.000000] .bss : 0xffffff800906d200 - 0xffffff800928a5b0 ( 2165 K B) [ 0.000000] fixed : 0xffffffbefe7fd000 - 0xffffffbefec00000 ( 4108 K B) [ 0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000 ( 16 M B) [ 0.000000] vmemmap : 0xffffffbf00000000 - 0xffffffc000000000 ( 4 G B maximum) [ 0.000000] 0xffffffbf00000000 - 0xffffffbf1dc00000 ( 476 M B actual) [ 0.000000] memory : 0xffffffc000000000 - 0xffffffc880000000 ( 34816 M B) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU event tracing is enabled. [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] arch_timer: cp15 timer(s) running at 33.33MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x7b0074340, max_idle_ns: 440795202884 ns [ 0.000003] sched_clock: 56 bits at 33MHz, resolution 30ns, wraps every 21990 23255543ns [ 0.008358] Console: colour dummy device 80x25 [ 0.012390] Calibrating delay loop (skipped), value calculated using timer fr equency.. 66.66 BogoMIPS (lpj=133332) [ 0.022668] pid_max: default: 32768 minimum: 301 [ 0.027345] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.033922] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.041621] ASID allocator initialised with 65536 entries [ 0.046419] Hierarchical SRCU implementation. [ 0.051065] EFI services will not be available. [ 0.055211] zynqmp_plat_init Platform Management API v1.1 [ 0.060556] zynqmp_plat_init Trustzone version v1.0 [ 0.065461] smp: Bringing up secondary CPUs ... [ 0.070148] Detected VIPT I-cache on CPU1 [ 0.070180] CPU1: Booted secondary processor [410fd034] [ 0.070235] smp: Brought up 1 node, 2 CPUs [ 0.083132] SMP: Total of 2 processors activated. [ 0.087804] CPU features: detected feature: 32-bit EL0 Support [ 0.093602] CPU: All CPU(s) started at EL2 [ 0.097672] alternatives: patching kernel code [ 0.102826] devtmpfs: initialized [ 0.112416] random: get_random_u32 called from bucket_table_alloc+0x108/0x260 with crng_init=0 [ 0.115549] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ma x_idle_ns: 7645041785100000 ns [ 0.125070] futex hash table entries: 512 (order: 4, 65536 bytes) [ 0.136757] xor: measuring software checksum speed [ 0.175198] 8regs : 2303.000 MB/sec [ 0.215227] 8regs_prefetch: 2053.000 MB/sec [ 0.255256] 32regs : 2830.000 MB/sec [ 0.295286] 32regs_prefetch: 2381.000 MB/sec [ 0.295314] xor: using function: 32regs (2830.000 MB/sec) [ 0.299692] pinctrl core: initialized pinctrl subsystem [ 0.299834] random: fast init done [ 0.308721] NET: Registered protocol family 16 [ 0.313134] cpuidle: using governor menu [ 0.317112] vdso: 2 pages (1 code @ ffffff8008ac6000, 1 data @ ffffff8008fb40 00) [ 0.323854] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.331032] DMA: preallocated 256 KiB pool for atomic allocations [ 0.358527] reset_zynqmp reset-controller: Xilinx zynqmp reset driver probed [ 0.360525] ARM CCI_400_r1 PMU driver probed [ 0.365561] zynqmp-pinctrl ff180000.pinctrl: zynqmp pinctrl initialized [ 0.371414] zynqmp-pinctrl ff180000.pinctrl: set mux failed for pin 20 [ 0.377277] xuartps ff010000.serial: Error applying setting, reverse things b ack [ 0.398468] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages [ 0.465075] raid6: int64x1 gen() 404 MB/s [ 0.533073] raid6: int64x1 xor() 445 MB/s [ 0.601174] raid6: int64x2 gen() 690 MB/s [ 0.669181] raid6: int64x2 xor() 602 MB/s [ 0.737279] raid6: int64x4 gen() 1043 MB/s [ 0.805289] raid6: int64x4 xor() 741 MB/s [ 0.873394] raid6: int64x8 gen() 980 MB/s [ 0.941403] raid6: int64x8 xor() 744 MB/s [ 1.009475] raid6: neonx1 gen() 726 MB/s [ 1.077530] raid6: neonx1 xor() 853 MB/s [ 1.145605] raid6: neonx2 gen() 1168 MB/s [ 1.213620] raid6: neonx2 xor() 1202 MB/s [ 1.281692] raid6: neonx4 gen() 1502 MB/s [ 1.349730] raid6: neonx4 xor() 1435 MB/s [ 1.417816] raid6: neonx8 gen() 1648 MB/s [ 1.485847] raid6: neonx8 xor() 1525 MB/s [ 1.485873] raid6: using algorithm neonx8 gen() 1648 MB/s [ 1.489842] raid6: .... xor() 1525 MB/s, rmw enabled [ 1.494772] raid6: using neon recovery algorithm [ 1.500958] SCSI subsystem initialized [ 1.503234] usbcore: registered new interface driver usbfs [ 1.508556] usbcore: registered new interface driver hub [ 1.513830] usbcore: registered new device driver usb [ 1.518878] media: Linux media interface: v0.10 [ 1.523337] Linux video capture interface: v2.00 [ 1.527933] pps_core: LinuxPPS API ver. 1 registered [ 1.532833] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giome tti <giometti@linux.it> [ 1.541926] PTP clock support registered [ 1.545993] zynqmp-ipi ff9905c0.mailbox: Probed ZynqMP IPI Mailbox driver. [ 1.552781] FPGA manager framework [ 1.556111] fpga-region fpga-full: FPGA Region probed [ 1.561128] Advanced Linux Sound Architecture Driver Initialized. [ 1.567325] Bluetooth: Core ver 2.22 [ 1.570646] NET: Registered protocol family 31 [ 1.575047] Bluetooth: HCI device and connection manager initialized [ 1.581363] Bluetooth: HCI socket layer initialized [ 1.586206] Bluetooth: L2CAP socket layer initialized [ 1.591237] Bluetooth: SCO socket layer initialized [ 1.597255] clocksource: Switched to clocksource arch_sys_counter [ 1.602200] VFS: Disk quotas dquot_6.6.0 [ 1.606058] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 1.616691] NET: Registered protocol family 2 [ 1.617478] TCP established hash table entries: 32768 (order: 6, 262144 bytes ) [ 1.624553] TCP bind hash table entries: 32768 (order: 7, 524288 bytes) [ 1.631431] TCP: Hash tables configured (established 32768 bind 32768) [ 1.637476] UDP hash table entries: 2048 (order: 4, 65536 bytes) [ 1.643451] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes) [ 1.649918] NET: Registered protocol family 1 [ 1.654378] RPC: Registered named UNIX socket transport module. [ 1.659995] RPC: Registered udp transport module. [ 1.664662] RPC: Registered tcp transport module. [ 1.669332] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 1.675839] Trying to unpack rootfs image as initramfs... [ 2.011628] Freeing initrd memory: 8360K [ 2.011965] hw perfevents: no interrupt-affinity property for /pmu, guessing. [ 2.017140] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters av ailable [ 2.025424] audit: initializing netlink subsys (disabled) [ 2.030158] audit: type=2000 audit(1.983:1): state=initialized audit_enabled= 0 res=1 [ 2.030470] workingset: timestamp_bits=62 max_order=20 bucket_order=0 [ 2.044800] NFS: Registering the id_resolver key type [ 2.049212] Key type id_resolver registered [ 2.053346] Key type id_legacy registered [ 2.057329] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 2.063996] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 2.099580] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2 47) [ 2.101340] io scheduler noop registered [ 2.105215] io scheduler deadline registered [ 2.109471] io scheduler cfq registered (default) [ 2.114129] io scheduler mq-deadline registered [ 2.118626] io scheduler kyber registered [ 2.123091] zynqmp_gpd_attach_dev error -13, node 59 [ 2.127546] nwl-pcie fd0e0000.pcie: failed to add to PM domain pd-pcie: -13 [ 2.135685] Synchronous External Abort: synchronous external abort (0x9600001 0) at 0xffffff8009fb0000 [ 2.143629] Internal error: : 96000010 [#1] SMP [ 2.148119] Modules linked in: [ 2.151149] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.0-xilinx- #1 [ 2.157720] Hardware name: ZynqMP ZCU102 Rev1.0 (DT) [ 2.162651] task: ffffffc87b83ed00 task.stack: ffffff8008028000 [ 2.168540] PC is at axi_clkgen_read.isra.1+0x4/0x18 [ 2.173465] LR is at axi_clkgen_probe+0x88/0x320 [ 2.178048] pc : [<ffffff80084ba1bc>] lr : [<ffffff80084ba2a8>] pstate: 80000 045 [ 2.185400] sp : ffffff800802bbe0 [ 2.188687] x29: ffffff800802bbe0 x28: ffffff8008f993f8 [ 2.193963] x27: 0000000000000007 x26: ffffff8009071000 [ 2.199240] x25: ffffff8008f30474 x24: ffffffc87b013c10 [ 2.204517] x23: ffffff8008b48000 x22: ffffffc87b2f6718 [ 2.209793] x21: ffffff8008fe1830 x20: ffffffc87b013c00 [ 2.215070] x19: 00000000fffffffe x18: 0000000000000001 [ 2.220346] x17: 0000000000000001 x16: 0000000000000019 [ 2.225623] x15: ffffffffffffffff x14: ffffffc87b2f660a [ 2.230899] x13: ffffffc87b2f6609 x12: 0000000000000030 [ 2.236176] x11: ffffff8008ec1000 x10: 0101010101010101 [ 2.241452] x9 : 0000000000000000 x8 : 0000000000000001 [ 2.246729] x7 : 0000000000010000 x6 : 0040000000000001 [ 2.252006] x5 : ffffff8009fc0000 x4 : ffffffc87b013e10 [ 2.257282] x3 : ffffffc87b2f6680 x2 : ffffffc87b2f6738 [ 2.262559] x1 : 0000000000000000 x0 : ffffff8009fb0000 [ 2.267836] Process swapper/0 (pid: 1, stack limit = 0xffffff8008028000) [ 2.274496] Call trace: [ 2.276920] Exception stack(0xffffff800802baa0 to 0xffffff800802bbe0) [ 2.283322] baa0: ffffff8009fb0000 0000000000000000 ffffffc87b2f6738 ffffffc8 7b2f6680 [ 2.291106] bac0: ffffffc87b013e10 ffffff8009fc0000 0040000000000001 00000000 00010000 [ 2.298891] bae0: 0000000000000001 0000000000000000 0101010101010101 ffffff80 08ec1000 [ 2.306676] bb00: 0000000000000030 ffffffc87b2f6609 ffffffc87b2f660a ffffffff ffffffff [ 2.314461] bb20: 0000000000000019 0000000000000001 0000000000000001 00000000 fffffffe [ 2.322247] bb40: ffffffc87b013c00 ffffff8008fe1830 ffffffc87b2f6718 ffffff80 08b48000 [ 2.330032] bb60: ffffffc87b013c10 ffffff8008f30474 ffffff8009071000 00000000 00000007 [ 2.337817] bb80: ffffff8008f993f8 ffffff800802bbe0 ffffff80084ba2a8 ffffff80 0802bbe0 [ 2.345602] bba0: ffffff80084ba1bc 0000000080000045 ffffff800802bbe0 ffffff80 084ba290 [ 2.353387] bbc0: ffffffffffffffff ffffffc87b013c00 ffffff800802bbe0 ffffff80 084ba1bc [ 2.361173] [<ffffff80084ba1bc>] axi_clkgen_read.isra.1+0x4/0x18 [ 2.367141] [<ffffff8008577d38>] platform_drv_probe+0x58/0xb8 [ 2.372851] [<ffffff8008576124>] driver_probe_device+0x22c/0x2d8 [ 2.378819] [<ffffff800857628c>] __driver_attach+0xbc/0xc0 [ 2.384268] [<ffffff8008574264>] bus_for_each_dev+0x4c/0x98 [ 2.389804] [<ffffff8008575a20>] driver_attach+0x20/0x28 [ 2.395081] [<ffffff8008575570>] bus_add_driver+0x1b8/0x228 [ 2.400617] [<ffffff8008576c38>] driver_register+0x60/0xf8 [ 2.406065] [<ffffff8008577c88>] __platform_driver_register+0x40/0x48 [ 2.412469] [<ffffff8008f5012c>] axi_clkgen_driver_init+0x1c/0x24 [ 2.418523] [<ffffff8008083980>] do_one_initcall+0x38/0x128 [ 2.424060] [<ffffff8008f30cc4>] kernel_init_freeable+0x138/0x1d8 [ 2.430114] [<ffffff8008aad948>] kernel_init+0x10/0x100 [ 2.435303] [<ffffff8008084a90>] ret_from_fork+0x10/0x18 [ 2.440581] Code: a8c17bfd d65f03c0 d503201f 8b214000 (b9400000) [ 2.446636] ---[ end trace aab38233654b9ab0 ]--- [ 2.451235] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00 00000b [ 2.451235] [ 2.460301] SMP: stopping secondary CPUs [ 2.464194] Kernel Offset: disabled [ 2.467654] CPU features: 0x002004 [ 2.471026] Memory Limit: none [ 2.474056] ---[ end Kernel panic - not syncing: Attempted to kill init! exit code=0x0000000b [ 2.474056]
Line 234 is where things seem to go wrong. I noticed a mention of pcie on the next line, but we don't have pcie enabled on our board. I made a guess here and added:
/delete-node/ &pcie;
to system-user.dtsi, and now I don't see the prints on line 234 and 235, but the boot still results in a kernel panic.
2. Can you verify if the above process is correct so far, and where this kernel panic may be coming from? I wonder if the peripherals we removed from the PS could be causing issues. Like I mentioned, we disabled things like pcie, usb, can, i2c, sata, display port, etc... when setting up our PS in Vivado.