Post Go back to editing

Custom design suitable for AD9361/ Vivado/Petalinux 2023.1 reference design

Category: Software
Product Number: AD9361
Software Version: petalinux 2023.1/ Vivado 2023.1

Hello everyone,

I'm trying to design with AD9361 and zedboard. I have no problems when I compile the reference design available at https://"github.com/analogdevicesinc/meta-adi/tree/main/meta-adi-xilinx". However, when I open a new design file and change some things, I encounter "kernel_panic" when I produce it. If I were to explain the changes I made, in order:

  1. I removed some blocks because I would not use them in the HDL project. I completely removed these AXI_HDMI, AXI_SYSID, AXI_SPDIF_TX_CORE, AXI_I2S_ADI and AXI_IIC blocks from my design. In short, only axi_ad936, relevant dma channels and fifos remain in the design. The image of the current design is below. AD9361 and DMA hierarchies are the same as in the reference design.

        2.  The synthesis was received without any problems. After the synthesis, an xsa file was produced.

        3. A new project was created for petalinux and the installation guide shown in the link "">github.com/.../meta-adi-xilinx" was followed respectively.

        4. Unused nodes in the "zynq-zed-adv7511-ad9361-fmcomms2-3" dtsi have been removed. The new dtsi file is below.

/*Delete nodes from pl.dtsi which are redefined in ADI dts*/
/delete-node/ &axi_ad9361;
/delete-node/ &axi_ad9361_dac_dma;
/delete-node/ &axi_ad9361_adc_dma;
/*/delete-node/ &axi_i2s_adi;*/
/*/delete-node/ &axi_iic_fmc;*/
/*/delete-node/ &axi_iic_main;*/
/*/delete-node/ &axi_spdif_tx_core;*/
/delete-node/ &misc_clk_0;
/*/delete-node/ &misc_clk_1;*/
/*/delete-node/ &misc_clk_2;*/
/*/delete-node/ &axi_sysid_0;*/
/*/delete-node/ &axi_hdmi_dma;*/
/*/delete-node/ &axi_hdmi_clkgen;*/
/*/delete-node/ &axi_hdmi_core;*/

       5. Petalinux was built without any problems and the created files were packaged and placed on the SD card.

       6. When the card is woken up, I get a "kernel panic" error and I couldn't find the source of the problem. I also share the kernel boot script below.

Thank you and have nice work.

Thread Notes

  • Hi,

    Could you please clarify for me what IPs you deleted from the reference design and what nodes from the device tree you deleted?

    In the code snippet that you posted with the dts nodes deleted, it appears that you commented the delete commands for the IPs that you said you wanted to delete. So it is exactly the opposite of what you said previously, and I'm a bit confused.

    Could you send us all the log from before the kernel panic, if this still happens after you clarify with the delete-node commands?

    Best regards,
    Iulia

  • Hello  ,

    Thanks for reply. The blocks I deleted from the digital design are AXI_HDMI, AXI_SYSID, AXI_SPDIF_TX_CORE, AXI_I2S_ADI and AXI_IIC. I'm confused too. I thought I should delete the node sections of the blocks I removed in the HDL design. Because I cannot build petalinux-build if I do not comment the blocks I removed in the HDL design in the dtsi file.

    Sincelery
  • I thought I should delete the node sections of the blocks I removed in the HDL design.

    Yes, you should. What confused me was that in the code snippet that you posted, it is written 

    /*/delete-node/ &axi_i2s_adi;*/

    which means you comment the deletion of the node => actually not deleting it.

    But I got your confirmation that you removed AXI_HDMI, AXI_SYSID, AXI_SPDIF_TX_CORE, AXI_I2S_ADI and AXI_IIC. 

    Could you send us all the log from before the kernel panic?

  • Hi ,

    Below is the kernel panic log txt file and pl.dtsi. I've been trying over and over again for a few days. But there is always a kernel panic.

    /*
     * CAUTION: This file is automatically generated by Xilinx.
     * Version: XSCT 
     * Today is: Fri Jan 26 18:39:43 2024
     */
    
    
    / {
    	amba_pl: amba_pl {
    		#address-cells = <1>;
    		#size-cells = <1>;
    		compatible = "simple-bus";
    		ranges ;
    		axi_ad9361: axi_ad9361@79020000 {
    			clock-names = "delay_clk", "clk", "s_axi_aclk";
    			clocks = <&clkc 16>, <&misc_clk_0>, <&clkc 15>;
    			compatible = "xlnx,axi-ad9361-1.0";
    			reg = <0x79020000 0x10000>;
    		};
    		misc_clk_0: misc_clk_0 {
    			#clock-cells = <0>;
    			clock-frequency = <100000000>;
    			compatible = "fixed-clock";
    		};
    		axi_ad9361_adc_dma: axi_dmac@7c400000 {
    			clock-names = "s_axi_aclk", "m_dest_axi_aclk", "m_sg_axi_aclk", "fifo_wr_clk";
    			clocks = <&clkc 15>, <&clkc 15>, <&clkc 15>, <&misc_clk_0>;
    			compatible = "xlnx,axi-dmac-1.0";
    			interrupt-names = "irq";
    			interrupt-parent = <&intc>;
    			interrupts = <0 29 4>;
    			reg = <0x7c400000 0x1000>;
    		};
    		axi_ad9361_dac_dma: axi_dmac@7c420000 {
    			clock-names = "s_axi_aclk", "m_src_axi_aclk", "m_sg_axi_aclk", "m_axis_aclk";
    			clocks = <&clkc 15>, <&clkc 15>, <&clkc 15>, <&misc_clk_0>;
    			compatible = "xlnx,axi-dmac-1.0";
    			interrupt-names = "irq";
    			interrupt-parent = <&intc>;
    			interrupts = <0 30 4>;
    			reg = <0x7c420000 0x1000>;
    		};
    		axi_iic_fmc: i2c@41620000 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			clock-names = "s_axi_aclk";
    			clocks = <&clkc 15>;
    			compatible = "xlnx,axi-iic-2.1", "xlnx,xps-iic-2.00.a";
    			interrupt-names = "iic2intc_irpt";
    			interrupt-parent = <&intc>;
    			interrupts = <0 32 4>;
    			reg = <0x41620000 0x1000>;
    		};
    		axi_iic_main: i2c@41600000 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			clock-names = "s_axi_aclk";
    			clocks = <&clkc 15>;
    			compatible = "xlnx,axi-iic-2.1", "xlnx,xps-iic-2.00.a";
    			interrupt-names = "iic2intc_irpt";
    			interrupt-parent = <&intc>;
    			interrupts = <0 31 4>;
    			reg = <0x41600000 0x1000>;
    		};
    	};
    };
    /include/ "pl-delete-nodes-zynq-zed-adv7511-ad9361-fmcomms2-3.dtsi"
    

    U-Boot 2023.01 (Mar 29 2023 - 13:08:40 +0000)
    
    CPU:   Zynq 7z020
    Silicon: v3.1
    Model: Xilinx Zynq ZED
    DRAM:  ECC disabled 512 MiB
    Core:  36 devices, 17 uclasses, devicetree: board
    Flash: 0 Bytes
    NAND:  0 MiB
    MMC:   mmc@e0100000: 0
    Loading Environment from FAT... *** Error - No Valid Environment Area found
    *** Warning - bad env area, using default environment
    
    In:    serial@e0001000
    Out:   serial@e0001000
    Err:   serial@e0001000
    Net:   
    ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 0, interface rgmii-id
    
    Warning: ethernet@e000b000 (eth0) using random MAC address - ea:27:a2:77:3b:82
    eth0: ethernet@e000b000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    Found U-Boot script /boot.scr
    3016 bytes read in 13 ms (226.6 KiB/s)
    ## Executing script at 03000000
    Trying to load boot images from mmc0
    27864260 bytes read in 1522 ms (17.5 MiB/s)
    ## Loading kernel from FIT Image at 10000000 ...
       Using 'conf-system-top.dtb' configuration
       Verifying Hash Integrity ... OK
       Trying 'kernel-1' kernel subimage
         Description:  Linux kernel
         Type:         Kernel Image
         Compression:  uncompressed
         Data Start:   0x10000104
         Data Size:    27831472 Bytes = 26.5 MiB
         Architecture: ARM
         OS:           Linux
         Load Address: 0x00200000
         Entry Point:  0x00200000
         Hash algo:    sha256
         Hash value:   44f582537e15a04240b9d92e30a01a7daee7df706dcbc32cba0ba5d76b5de6e6
       Verifying Hash Integrity ... sha256+ OK
    ## Loading fdt from FIT Image at 10000000 ...
       Using 'conf-system-top.dtb' configuration
       Verifying Hash Integrity ... OK
       Trying 'fdt-system-top.dtb' fdt subimage
         Description:  Flattened Device Tree blob
         Type:         Flat Device Tree
         Compression:  uncompressed
         Data Start:   0x11a8aec0
         Data Size:    30880 Bytes = 30.2 KiB
         Architecture: ARM
         Hash algo:    sha256
         Hash value:   96d473c0946de463610e9fbb515328dd5a2ef440aba0c40325f5314753bf0bde
       Verifying Hash Integrity ... sha256+ OK
       Booting using the fdt blob at 0x11a8aec0
    Working FDT set to 11a8aec0
       Loading Kernel Image
       Loading Device Tree to 1eac5000, end 1eacf89f ... OK
    Working FDT set to 1eac5000
    
    Starting kernel ...
    
    Booting Linux on physical CPU 0x0
    Linux version 6.1.0-xilinx-v2023.1 (oe-user@oe-host) (arm-xilinx-linux-gnueabi-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0.20220819) #1 SMP PREEMPT Wed Dec 20 15:50:24 UTC 2023
    CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    OF: fdt: Machine model: Xilinx Zynq ZED
    earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8')
    printk: bootconsole [cdns0] enabled
    Memory policy: Data cache writealloc
    cma: Reserved 128 MiB at 0x16800000
    Zone ranges:
      Normal   [mem 0x0000000000000000-0x000000001fffffff]
      HighMem  empty
    Movable zone start for each node
    Early memory node ranges
      node   0: [mem 0x0000000000000000-0x000000001fffffff]
    Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
    percpu: Embedded 11 pages/cpu s14420 r8192 d22444 u45056
    Built 1 zonelists, mobility grouping on.  Total pages: 130048
    Kernel command line: console=ttyPS0,115200 earlycon
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
    mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    Memory: 308708K/524288K available (11264K kernel code, 749K rwdata, 9572K rodata, 56320K init, 465K bss, 84508K reserved, 131072K cma-reserved, 0K highmem)
    rcu: Preemptible hierarchical RCU implementation.
    rcu: 	RCU event tracing is enabled.
    rcu: 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    efuse mapped to (ptrval)
    slcr mapped to (ptrval)
    L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C-310 erratum 769419 enabled
    L2C-310 enabling early BRESP for Cortex-A9
    L2C-310 full line of zeros enabled for Cortex-A9
    L2C-310 ID prefetch enabled, offset 1 lines
    L2C-310 dynamic clock gating enabled, standby mode enabled
    L2C-310 cache controller enabled, 8 ways, 512 kB
    L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
    rcu: srcu_init: Setting srcu_struct sizes based on contention.
    zynq_clock_init: clkc starts at (ptrval)
    Zynq clock init
    sched_clock: 64 bits at 167MHz, resolution 6ns, wraps every 4398046511103ns
    clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x26703d7dd8, max_idle_ns: 440795208065 ns
    Switching to timer-based delay loop, resolution 6ns
    clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
    timer #0 at (ptrval), irq=25
    Console: colour dummy device 80x30
    Calibrating delay loop (skipped), value calculated using timer frequency.. 333.33 BogoMIPS (lpj=1666666)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    CPU: Testing write buffer coherency: ok
    CPU0: Spectre v2: using BPIALL workaround
    CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    Setting up static identity map for 0x100000 - 0x100060
    rcu: Hierarchical SRCU implementation.
    rcu: 	Max phase no-delay instances is 1000.
    smp: Bringing up secondary CPUs ...
    CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    CPU1: Spectre v2: using BPIALL workaround
    smp: Brought up 1 node, 2 CPUs
    SMP: Total of 2 processors activated (666.66 BogoMIPS).
    CPU: All CPU(s) started in SVC mode.
    devtmpfs: initialized
    VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    pinctrl core: initialized pinctrl subsystem
    NET: Registered PF_NETLINK/PF_ROUTE protocol family
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    thermal_sys: Registered thermal governor 'step_wise'
    cpuidle: using governor ladder
    amba f8801000.etb: Fixing up cyclic dependency with replicator
    amba f8803000.tpiu: Fixing up cyclic dependency with replicator
    amba f8804000.funnel: Fixing up cyclic dependency with replicator
    amba f889c000.ptm: Fixing up cyclic dependency with f8804000.funnel
    amba f889d000.ptm: Fixing up cyclic dependency with f8804000.funnel
    hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    hw-breakpoint: maximum watchpoint size is 4 bytes.
    e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 27, base_baud = 3125000) is a xuartps
    printk: console [ttyPS0] enabled
    printk: console [ttyPS0] enabled
    printk: bootconsole [cdns0] disabled
    printk: bootconsole [cdns0] disabled
    SCSI subsystem initialized
    mc: Linux media interface: v0.10
    videodev: Linux video capture interface: v2.00
    pps_core: LinuxPPS API ver. 1 registered
    pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    PTP clock support registered
    jesd204: found 0 devices and 0 topologies
    FPGA manager framework
    clocksource: Switched to clocksource arm_global_timer
    NET: Registered PF_INET protocol family
    IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
    tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
    Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
    TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
    TCP: Hash tables configured (established 4096 bind 4096)
    UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
    UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
    NET: Registered PF_UNIX/PF_LOCAL protocol family
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    armv7-pmu f8891000.pmu: hw perfevents: no interrupt-affinity property, guessing.
    hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
    workingset: timestamp_bits=30 max_order=17 bucket_order=0
    NFS: Registering the id_resolver key type
    Key type id_resolver registered
    Key type id_legacy registered
    nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    fuse: init (API version 7.37)
    io scheduler mq-deadline registered
    io scheduler kyber registered
    zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
    gpio gpiochip0: (zynq_gpio): not an immutable chip, please consider fixing it!
    8<--- cut here ---
    Unhandled fault: imprecise external abort (0x406) at 0x00000000
    [00000000] *pgd=00000000
    Internal error: : 406 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0-xilinx-v2023.1 #1
    Hardware name: Xilinx Zynq Platform
    PC is at axi_clkgen_probe+0x104/0x394
    LR is at clk_enable+0x2c/0x34
    pc : [<c047a770>]    lr : [<c0470f54>]    psr: 60000013
    sp : e0819de8  ip : c5049140  fp : 00000000
    r10: c1647778  r9 : c163b834  r8 : c5167c10
    r7 : c5167c00  r6 : 00000000  r5 : c5315c40  r4 : c530b040
    r3 : dec0de1c  r2 : c5049140  r1 : a0000013  r0 : 00000000
    Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
    Control: 18c5387d  Table: 0000404a  DAC: 00000051
    Register r0 information: NULL pointer
    Register r1 information: non-paged memory
    Register r2 information: slab task_struct start c5049140 pointer offset 0
    Register r3 information: non-slab/vmalloc memory
    Register r4 information: slab kmalloc-128 start c530b000 pointer offset 64 size 128
    Register r5 information: slab kmalloc-64 start c5315c40 pointer offset 0 size 64
    Register r6 information: NULL pointer
    Register r7 information: slab kmalloc-1k start c5167c00 pointer offset 0 size 1024
    Register r8 information: slab kmalloc-1k start c5167c00 pointer offset 16 size 1024
    Register r9 information: non-slab/vmalloc memory
    Register r10 information: non-slab/vmalloc memory
    Register r11 information: NULL pointer
    Register r12 information: slab task_struct start c5049140 pointer offset 0
    Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
    Stack: (0xe0819de8 to 0xe081a000)
    9de0:                   00000000 c0c37db8 00000000 00000000 00000000 00000000
    9e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9e20: 00000000 408f27ef c14f5b10 00000000 c5167c10 c4d2f848 00000000 c530b0b8
    9e40: c163b834 c1647778 00000000 c05173a0 c5167c10 00000000 c4d2f848 c0514e20
    9e60: c5167c10 c4d2f848 c5167c10 00000000 c530b0b8 c05150c8 c4dd7f80 c4d2f848
    9e80: c5167c10 c0515158 c5167c10 c4d2f848 c5167c54 c4d34be8 c530b0b8 c051582c
    9ea0: 00000000 c4d2f848 c05157a4 c0512f74 e0819ed0 c501ce58 c51572b4 408f27ef
    9ec0: c4d2f848 c530b080 00000000 c051433c c144ad18 00000000 c4d2f848 00000000
    9ee0: 00000006 00000000 c4dbc000 c05162b4 c161c25c c5049140 00000006 c0101854
    9f00: 00000000 c1558c68 c50dccc0 00000000 00000000 00000000 00000000 00000000
    9f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9f40: 00000000 00000000 00000000 408f27ef c50dccc0 000000e5 c50dccc0 00000006
    9f60: c4dbc000 c163b854 c163b834 c16012e4 00000006 00000006 00000000 c16004d0
    9f80: c4d03ec0 c0b20b88 00000000 00000000 00000000 00000000 00000000 c0b20ba0
    9fa0: 00000000 c0b20b88 00000000 c0100148 00000000 00000000 00000000 00000000
    9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
     axi_clkgen_probe from platform_probe+0x5c/0xb0
     platform_probe from really_probe+0xc8/0x2ec
     really_probe from __driver_probe_device+0x84/0xe4
     __driver_probe_device from driver_probe_device+0x30/0x104
     driver_probe_device from __driver_attach+0x88/0x170
     __driver_attach from bus_for_each_dev+0x7c/0xc4
     bus_for_each_dev from bus_add_driver+0x164/0x1f0
     bus_add_driver from driver_register+0x88/0x11c
     driver_register from do_one_initcall+0x58/0x234
     do_one_initcall from kernel_init_freeable+0x194/0x1f0
     kernel_init_freeable from kernel_init+0x18/0x12c
     kernel_init from ret_from_fork+0x14/0x2c
    Exception stack(0xe0819fb0 to 0xe0819ff8)
    9fa0:                                     00000000 00000000 00000000 00000000
    9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    Code: 1a00008b e5943000 e5933000 f57ff04f (e5843020) 
    ---[ end trace 0000000000000000 ]---
    Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    CPU1: stopping
    CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D            6.1.0-xilinx-v2023.1 #1
    Hardware name: Xilinx Zynq Platform
     unwind_backtrace from show_stack+0x10/0x14
     show_stack from dump_stack_lvl+0x40/0x4c
     dump_stack_lvl from do_handle_IPI+0x118/0x140
     do_handle_IPI from ipi_handler+0x18/0x20
     ipi_handler from handle_percpu_devid_irq+0x78/0x134
     handle_percpu_devid_irq from generic_handle_domain_irq+0x28/0x38
     generic_handle_domain_irq from gic_handle_irq+0x74/0x88
     gic_handle_irq from generic_handle_arch_irq+0x34/0x44
     generic_handle_arch_irq from call_with_stack+0x18/0x20
     call_with_stack from __irq_svc+0x98/0xc8
    Exception stack(0xe0849f50 to 0xe0849f98)
    9f40:                                     00000005 00000000 000009a1 c0116760
    9f60: c5051240 c4d03f0c 00000001 c4d03f54 c4c7af18 c4d03f5c 00000000 00000000
    9f80: e0849f88 e0849fa0 c0107670 c0107674 60000013 ffffffff
     __irq_svc from arch_cpu_idle+0x38/0x3c
     arch_cpu_idle from default_idle_call+0x24/0x34
     default_idle_call from do_idle+0x1c4/0x258
     do_idle from cpu_startup_entry+0x18/0x1c
     cpu_startup_entry from secondary_start_kernel+0x11c/0x120
     secondary_start_kernel from 0x1015e0
    ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
    

  • Moved to Linux Software Drivers forum for support on the device tree and the kernel panic messages.

  •  you don't have to remove axi-sysid from the vivado design. it serves a purpose in communication of AXI. include it, and repeat the build process. it may help

  • Hello ,

    Thanks for reply.

    The axi-sysid idea made a lot of sense, but nothing changed. I still get the same kernel panic error. petalinux-config -c Are there places in the kernel that I need to close?
    Sincelery
  •   If you are "adding" any PS relating IP in the vivado design, other than default design, then there may be need to configure kernel in the petalinux, else it does not need to modify anything in petalinux.  
    Moreover, you may have not included "rom-sys" ip after adding axi-sysid in the design. 
    You should try with a new hdl, remove IIC, HDMI, etc IPs, then remove the related pins from system-top and then rebuild petalinux. 

  • Also, you may have included iic-fmc ip in the vivado, and have removed it in the mentioned .dtsi. You may recheck IIC IPs.

  • Hello ,

    As you said, I made the design from scratch and compiled the kernel. This time, the kernel stays in the section below while waking up. "zynq-pinctrl 700.pinctrl: zynq pinctrl initialized gpio gpiochip0: (zynq_gpio): not an immutable chip, please consider fixing it!"  I am sharing the kernel logs as txt below.

    U-Boot 2023.01 (Mar 29 2023 - 13:08:40 +0000)
    
    CPU:   Zynq 7z020
    Silicon: v3.1
    Model: Xilinx Zynq ZED
    DRAM:  ECC disabled 512 MiB
    Core:  36 devices, 17 uclasses, devicetree: board
    Flash: 0 Bytes
    NAND:  0 MiB
    MMC:   mmc@e0100000: 0
    Loading Environment from FAT... *** Error - No Valid Environment Area found
    *** Warning - bad env area, using default environment
    
    In:    serial@e0001000
    Out:   serial@e0001000
    Err:   serial@e0001000
    Net:   
    ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 0, interface rgmii-id
    
    Warning: ethernet@e000b000 (eth0) using random MAC address - ea:bb:9f:7d:85:6f
    eth0: ethernet@e000b000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    Found U-Boot script /boot.scr
    3016 bytes read in 13 ms (226.6 KiB/s)
    ## Executing script at 03000000
    Trying to load boot images from mmc0
    28739228 bytes read in 1568 ms (17.5 MiB/s)
    ## Loading kernel from FIT Image at 10000000 ...
       Using 'conf-system-top.dtb' configuration
       Verifying Hash Integrity ... OK
       Trying 'kernel-1' kernel subimage
         Description:  Linux kernel
         Type:         Kernel Image
         Compression:  uncompressed
         Data Start:   0x10000104
         Data Size:    28706440 Bytes = 27.4 MiB
         Architecture: ARM
         OS:           Linux
         Load Address: 0x00200000
         Entry Point:  0x00200000
         Hash algo:    sha256
         Hash value:   acfd47859b1d01bb1c5feb757bab648de7070eb48a13b82896b152230004b5c1
       Verifying Hash Integrity ... sha256+ OK
    ## Loading fdt from FIT Image at 10000000 ...
       Using 'conf-system-top.dtb' configuration
       Verifying Hash Integrity ... OK
       Trying 'fdt-system-top.dtb' fdt subimage
         Description:  Flattened Device Tree blob
         Type:         Flat Device Tree
         Compression:  uncompressed
         Data Start:   0x11b60898
         Data Size:    30880 Bytes = 30.2 KiB
         Architecture: ARM
         Hash algo:    sha256
         Hash value:   96d473c0946de463610e9fbb515328dd5a2ef440aba0c40325f5314753bf0bde
       Verifying Hash Integrity ... sha256+ OK
       Booting using the fdt blob at 0x11b60898
    Working FDT set to 11b60898
       Loading Kernel Image
       Loading Device Tree to 1eac5000, end 1eacf89f ... OK
    Working FDT set to 1eac5000
    
    Starting kernel ...
    
    Booting Linux on physical CPU 0x0
    Linux version 6.1.0-xilinx-v2023.1 (oe-user@oe-host) (arm-xilinx-linux-gnueabi-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0.20220819) #1 SMP PREEMPT Wed Dec 20 15:50:24 UTC 2023
    CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    OF: fdt: Machine model: Xilinx Zynq ZED
    earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8')
    printk: bootconsole [cdns0] enabled
    Memory policy: Data cache writealloc
    cma: Reserved 128 MiB at 0x16800000
    Zone ranges:
      Normal   [mem 0x0000000000000000-0x000000001fffffff]
      HighMem  empty
    Movable zone start for each node
    Early memory node ranges
      node   0: [mem 0x0000000000000000-0x000000001fffffff]
    Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
    percpu: Embedded 11 pages/cpu s14420 r8192 d22444 u45056
    Built 1 zonelists, mobility grouping on.  Total pages: 130048
    Kernel command line: console=ttyPS0,115200 earlycon
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
    mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    Memory: 306592K/524288K available (12288K kernel code, 812K rwdata, 10160K rodata, 56320K init, 471K bss, 86624K reserved, 131072K cma-reserved, 0K highmem)
    rcu: Preemptible hierarchical RCU implementation.
    rcu: 	RCU event tracing is enabled.
    rcu: 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    efuse mapped to (ptrval)
    slcr mapped to (ptrval)
    L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C-310 erratum 769419 enabled
    L2C-310 enabling early BRESP for Cortex-A9
    L2C-310 full line of zeros enabled for Cortex-A9
    L2C-310 ID prefetch enabled, offset 1 lines
    L2C-310 dynamic clock gating enabled, standby mode enabled
    L2C-310 cache controller enabled, 8 ways, 512 kB
    L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
    rcu: srcu_init: Setting srcu_struct sizes based on contention.
    zynq_clock_init: clkc starts at (ptrval)
    Zynq clock init
    sched_clock: 64 bits at 167MHz, resolution 6ns, wraps every 4398046511103ns
    clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x26703d7dd8, max_idle_ns: 440795208065 ns
    Switching to timer-based delay loop, resolution 6ns
    clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
    timer #0 at (ptrval), irq=25
    Console: colour dummy device 80x30
    Calibrating delay loop (skipped), value calculated using timer frequency.. 333.33 BogoMIPS (lpj=1666666)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    CPU: Testing write buffer coherency: ok
    CPU0: Spectre v2: using BPIALL workaround
    CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    Setting up static identity map for 0x100000 - 0x100060
    rcu: Hierarchical SRCU implementation.
    rcu: 	Max phase no-delay instances is 1000.
    smp: Bringing up secondary CPUs ...
    CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    CPU1: Spectre v2: using BPIALL workaround
    smp: Brought up 1 node, 2 CPUs
    SMP: Total of 2 processors activated (666.66 BogoMIPS).
    CPU: All CPU(s) started in SVC mode.
    devtmpfs: initialized
    VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    pinctrl core: initialized pinctrl subsystem
    NET: Registered PF_NETLINK/PF_ROUTE protocol family
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    thermal_sys: Registered thermal governor 'step_wise'
    cpuidle: using governor ladder
    amba f8801000.etb: Fixing up cyclic dependency with replicator
    amba f8803000.tpiu: Fixing up cyclic dependency with replicator
    amba f8804000.funnel: Fixing up cyclic dependency with replicator
    amba f889c000.ptm: Fixing up cyclic dependency with f8804000.funnel
    amba f889d000.ptm: Fixing up cyclic dependency with f8804000.funnel
    hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    hw-breakpoint: maximum watchpoint size is 4 bytes.
    e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 27, base_baud = 3125000) is a xuartps
    printk: console [ttyPS0] enabled
    printk: console [ttyPS0] enabled
    printk: bootconsole [cdns0] disabled
    printk: bootconsole [cdns0] disabled
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    mc: Linux media interface: v0.10
    videodev: Linux video capture interface: v2.00
    pps_core: LinuxPPS API ver. 1 registered
    pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    PTP clock support registered
    FPGA manager framework
    Advanced Linux Sound Architecture Driver Initialized.
    clocksource: Switched to clocksource arm_global_timer
    NET: Registered PF_INET protocol family
    IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
    tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
    Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
    TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
    TCP: Hash tables configured (established 4096 bind 4096)
    UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
    UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
    NET: Registered PF_UNIX/PF_LOCAL protocol family
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    armv7-pmu f8891000.pmu: hw perfevents: no interrupt-affinity property, guessing.
    hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
    workingset: timestamp_bits=30 max_order=17 bucket_order=0
    NFS: Registering the id_resolver key type
    Key type id_resolver registered
    Key type id_legacy registered
    nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    fuse: init (API version 7.37)
    io scheduler mq-deadline registered
    io scheduler kyber registered
    zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
    gpio gpiochip0: (zynq_gpio): not an immutable chip, please consider fixing it!
    

    Sincelery