ADRV9009 connected to MPSoC Xilinx FPGA

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



changed wording for clarification
[edited by: charlyelkhoury at 1:02 PM (GMT 0) on 14 Aug 2020]
Parents
  • 0
    •  Analog Employees 
    on Aug 14, 2020 7:07 AM 6 months ago

    Hello Charly,

    1. We have examples: https://wiki.analog.com/resources/eval/user-guides/adrv9009-zu11eg and https://wiki.analog.com/resources/eval/user-guides/adrv9009 for complete projects. The ADRV9009-ZU11EG SOM is an Zynq Ultrascale+ custom design which has schematic/HDL/software open so they can be used as a starting point. We have https://wiki.analog.com/resources/tools-software/linux-build/generic/petalinux as a guide on how to build petalinux.
    2. You can start from our reference design device tree and customize it (https://github.com/analogdevicesinc/linux/blob/master/arch/arm64/boot/dts/xilinx/zynqmp-adrv9009-zu11eg-revb-adrv2crr-fmc-revb.dts). I don’t think we have a specific page or tool to automatically generate device trees. ADRV9009-ZU11EG uses HMC7044, maybe this design is closer to your project.

    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 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

  • 0
    •  Analog Employees 
    on Aug 20, 2020 9:47 PM 6 months ago in reply to dave.s

    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 ?

    Thanks,
    Dragos

  • 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?

    Thanks,
    Dave

  • Hi Dragos,

    I was finally able to finish a build with your suggestion plus a few other changes. I added:

    /delete-node/ &axi_adrv9009_core_rx_obs;

    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.

    Thanks,
    Dave

Reply
  • Hi Dragos,

    I was finally able to finish a build with your suggestion plus a few other changes. I added:

    /delete-node/ &axi_adrv9009_core_rx_obs;

    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.

    Thanks,
    Dave

Children