HDMI on ZedBoard with Petalinux.

This is step-by-step tutorial on how to build reference design for Analog Devices ADV7511 HDMI encoder used on ZedBoard with PetaLinux 2013.10. It will be mostly based on AD HDL reference design http://wiki.analog.com/resources/fpga/xilinx/kc705/adv7511 and AD Linux drivers wiki page http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq and Xilinx PetaLinux documentation http://www.wiki.xilinx.com/PetaLinux.

As of today, 25 May 2014, to create HDL design for ADV7511 from scratch, we have to use Vivado 2013.4, even though Vivado 2014.1 is already available. The reason is some changes in a Xilinx IP's (which I didn't had a chance to figure out yet) prevent HDL design from build/work properly.

  1. First step is to download HDL libraries and projects from AnalogDevices repositories on a github: https://github.com/analogdevicesinc/hdl. You can clone it or download a ZIP. I will download a ZIP and extract 'hdl-master' in my Projects/FPGA/ folder on Windows7 machine.
  2. Second step is to build a few Analog Devices IP required to create ZedBoard HDMI design. Run Xilinx Vivado 2013.4, open a TCL console, change directories and 'source' a .tcl scripts. For example, to build AXI_CLKGEN IP:

    cd c:/Projects/FPGA/hdl-master/library/axi_clkgen
    source ./axi_clkgen_ip.tcl

    After script finish, close created project and build the next. For ZedBoard we have build the next IP's:

    • hdl-master/library/axi_clkgen
    • hdl-master/library/axi_hdmi_tx
    • hdl-master/library/axi_i2s_adi
    • hdl-master/library/axi_spdif_tx
    • hdl-master/library/util_i2c_mixer
  3. After we done with all required IP's, we can build ADV7511 reference design for ZedBoard. In a Tcl Console change directory to ADV7511 and run 'system_project' script.

    cd c:/Projects/FPGA/hdl-master/projects/adv7511/zed/
    source ./system_project.tcl

    Script will create block design, run synthesis and implementation, generate bitstream and even export software to SDK(without opening it). This was the case on my system - everything went smoothly. We are done with Vivado and can close it.

    We have to create HDL in Vivado 2013.4, but later we can import created project into Vivado 2014.1 and update it to use latest Xilinx IP's.

  4. Let's build a FSBL. We need very typical Zynq first stage boot loader and I covered creation of it before, so now just a short description:
    • Run XSDK.
    • Create new 'Hardware Platform Specification' project (I named it 'ZedBoard-HDMI-HW') and specify HW created in a previous step.
    • Create Application project (named 'ZedBoard-HDMI-FSBL') using our new 'Hardware Platform' and select to create new BSP for it. Don't forget to use 'Zynq FSBL' template. Build it if this not done automatically.
  5. Next step is to create PetaLinux BSP. This is also very typical PetaLinux BSP, just don't forget to change 'Configuration' to reflect ZedBoard configuration and name it 'ZedBoard-HDMI-petalinux_bsp'.

    zynq15_002

    We are done with Xilinx SDK. You can close it.

  6. Next step is to create PetaLinux project and set 'hardware description'. I will call it 'ZedBoard-HDMI' Petalinux project:

    petalinux-create -t project -n ZedBoard-HDMI
    cd ~/Projects/ZedBoard-HDMI-petalinux_bsp/
    petalinux-config --get-hw-description -p ../ZedBoard-HDMI/
    cd ~/Projects/ZedBoard-HDMI/
    rm -r hw-description

  7. Now, as of today, ADV7511 Linux driver not in a mainstream kernel. So, we need to get Kernel from Analog Devices repository with appropriate patches. Current version is 3.14.0. Let's clone it, and checkout 'xcomm_zynq' branch.

    cd ~/Projects/
    git clone https://github.com/analogdevicesinc/linux.git analogdevices-kernel
    cd analogdevices-kernel/
    git checkout xcomm_zynq

  8. Create necessary directories and copy 'xcomm_zynq' branch to our PetaLinux project directory.

    cd ~/Projects/
    mkdir ~/Projects/ZedBoard-HDMI/components
    mkdir ~/Projects/ZedBoard-HDMI/components/linux-kernel
    cp -a analogdevices-kernel ~/Projects/ZedBoard-HDMI/components/linux-kernel/

  9. Run 'petalinux-config' and change kernel to 'analogdevices-kernel' and system boot device to 'SD card'.
  10. cd ZedBoard-HDMI
    petalinux-config

  11. Next we need to configure Linux kernel for PetaLinux and we need to enable all options required by ADV7511. AnalogDevices kernel support special configuration option 'zynq_xcomm_adv7511_defconfig', but we cannot run it with PetaLinux. So, we have to pre-configure kernel separately ('make ARCH=arm zynq_xcomm_adv7511_defconfig') and just copy resulted config into 'ZedBoard-HDMI/subsystems/linux/configs/kernel'. So, I did it and also copied it into PetaLinux Kernel configs directory '/opt/petalinux-v2013.10-final/etc/template/project/template-zynq/subsystems/linux/configs/kernel'. So, I can later reuse it. Also notice that kernel default config file have dot in the front and PetaLinux files don't.
    Anyway, here is link to my resulted kernel config file: http://blog.idv-tech.com/wp-content/uploads/2014/05/config_hdmi_3_14.config
  12. We also, have to modify 'devices tree' generated by PetaLinux for our project. AnalogDecices Linux kernel have template for ZedBoard which you can find in 'arch/arm/boot/dts/zynq-zed-adv7511.dts', so we basically have to copy missing devices from AD into our tree.
    Link to my resulted DTS file for ZedBoard: http://blog.idv-tech.com/wp-content/uploads/2014/05/adv7511_dts.config.
  13. We are basically done. At this point you my want to modify PetaLinux project, for example, include Qt5 library and test app to check frame buffer device later. I covered this topics in my previous post, so I wont repeat it here.

    Build Petalinux project, create BOOT.BIN and copy it together with Linux image file 'image.ub' on SD card:

    petalinux-build
    petalinux-package --boot --fsbl ../ZedBoard-HDMI-FSBL/Release/ZedBoard-HDMI-FSBL.elf --fpga ../ZedBoard-HDMI-HW/system_top.bit --uboot --force -o images/linux/BOOT.BIN

  14. Insert SD card into slot of ZedBoard and turn it on. During boot kernel should detect ADV7511(hdmi) and ADAU1761(sound) devices and create '/dev/fb0' device.So, below partial bootlog from my ZedBoard:
  15. ...
    [drm] Initialized drm 1.1.0 20060810
    /analogdevices-kernel/drivers/gpu/drm/adi_axi_hdmi/axi_hdmi_drv.c:axi_hdmi_platform_probe[176]
    platform 70e00000.axi_hdmi: Driver axi-hdmi requests probe deferral
    ...
    adv7511-hdmi-snd adv7511_hdmi_snd.2: adv7511 <-> 75c00000.axi-spdif-tx mapping ok
    ...
    zed-adau1761-snd zed_sound.3: adau-hifi <-> 77600000.axi-i2s mapping ok
    ...
    Console: switching to colour frame buffer device 180x56
    axi-hdmi 70e00000.axi_hdmi: fb0:  frame buffer device
    axi-hdmi 70e00000.axi_hdmi: registered panic notifier
    [drm] Initialized axi_hdmi_drm 1.0.0 20120930 on minor 0
    /analogdevices-kernel/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
    ALSA device list:
      #0: HDMI monitor
      #1: ZED ADAU1761
    Freeing unused kernel memory: 23356K (c062b000 - c1cfa000)
    INIT: version 2.88 booting
    Starting Bootlog daemon: bootlogd.
    ...
    
     _____       _           _      _
    | ___ \     | |         | |    (_)
    | |_/ / ___ | |_   __ _ | |     _  _ __   _   _ __  __
    |  __/ / _ \| __| / _` || |    | || '_ \ | | | |\ \/ /
    | |   |  __/| |_ | (_| || |____| || | | || |_| | >  <
    \_|    \___| \__| \__,_|\_____/|_||_| |_| \__,_|/_/\_\
    
    PetaLinux v2013.10 (Yocto 1.4) ZedBoard ttyPS0
    
    ZedBoard login: root
    Password:
    login[923]: root login  on `ttyPS0'
    
    root@ZedBoard:~# ls /dev/fb0
    /dev/fb0
    root@ZedBoard:~# uname -a
    Linux ZedBoard 3.14.0-g681a2d8-dirty #2 SMP PREEMPT Sun May 25 22:46:28 EDT 2014 armv7l GNU/Linux
    root@ZedBoard:~#
    
  16. This is basically it - once you have a framebuffer device you can start using it. So I ran my Qt5 test app and it worked. We obviously don't have any hardware acceleration with this HDL design, but we got basic FB device and HDMI output. Congratulations!
Tagged with: , , , , , , , , ,
25 comments on “HDMI on ZedBoard with Petalinux.
  1. raph38130 says:

    Hi d9

    do you have any success with last vivado 14.1 ?

    I try too...
    I source tcl project script, update IP to 14.1 revision
    design is now synthetisable and implementable.

    adi linux 3.14 kernel boots, discovers adau1761, but speaker-test complains about no PCM....

    do you have any clues about this issue ?

  2. guraaf says:

    I tried to source the tcl script but get an error message that "Comonent '(none):user:axi_clkgen:1.0 (axi_clkgen_v1_0)': The vendor "(none)" is not a valid domain name.

    Did you also get this issue?

  3. ReSalmon says:

    Hello d9!
    I have a question on ADV7511 Reference Design.
    I've managed to boot Ubuntu as Analog Devices say in their tutorial using Vivado Reference Design on my Zedboard:
    http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq
    Could you tell me if there is any simple way to make example of interfacing SPI and I2C based on this design?

  4. z.ali.sharif says:

    When you say: "We also, have to modify 'devices tree' generated by PetaLinux for our project ... we basically have to copy missing devices from AD into our tree", can you outline the procedure for doing this; I am not certain what is a considered a "device".

    While following this guide, the bootloader get's stuck in the mode: "Starting Kernel" - I suspect it's because I'm not generating the device tree.

  5. d9#idv-tech#com d9#idv-tech#com says:

    I included full dts file - see point 11.

    • z.ali.sharif says:

      I am trying to generate the modified device tree for the zc702 and was interested in the process that you used to diff the device trees (the file from ADI and the file generated by petalinux) for the zedboard so I could do the same for the zc702. Sorry for the trouble but I haven't been able to find documentation on how to do this anywhere else.

      • d9#idv-tech#com d9#idv-tech#com says:

        Just like you, I usually take DTS generated by Xilinx Petalinux project create utility and manually modify it. I add missing device nodes (for example, where is no way for this utility to know about your custom IP block) and I modify autogenerated devices if some properties for it wrong or missing, so my DTS will reflect actual design. You have all required information in Vivado 'hardware design', so no surprises here - just reflect it in DTS.
        And I usually use reference design as-is and go thru available tutorials first and then I transfer pieces of it in my custom project. I found, I actually save a lot of time this way.

  6. zhengzhoufeng says:

    I build the analog kernel in petalinux2014.2 ,it worked .But the keyboard/mouse cann't work! Have you try the keyboard/mouse in USB-OTG port?

    • d9#idv-tech#com d9#idv-tech#com says:

      I don't have any problems with keyboard/mouse. Check if you have Xilinx USB enabled in both hardware and kernel.

      • zhengzhoufeng says:

        Thanks very much! I changed the DTS file,the mouse is ok now.

        Now I want to use the /dev/fb0 as the console ,and auto login in without input the password and username, then my embeded application can work automation. Have you try it like this?

  7. smilencezq says:

    hello.I'm using vivado2014.4 and ubuntu14.04-64 bit. I download the ad-linux kernel in zip at site https://github.com/analogdevicesinc/linux.
    but errors occurred when "make uImage LOADADDR=0x00008000" referring to http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq. It tells "fs/inode.o as fs/built-in.o, no such file"
    Errors still occurs when I chose "clone in desktop" and copy it to my virtual Ubuntu.
    It does OK with Xilinx linux-kernel resources.
    I wonder if there has any error with my method following the http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq or other errors.
    Could you give me some advises, thank you.

    • d9#idv-tech#com d9#idv-tech#com says:

      Most likely changes in Kernel 3.18 and later causing this problems. Everybody getting all kind of problems with inode right now, VMWare tools for example. They should fix it pretty soon.
      But for now, you can try to copy Analog Devices drivers to Xilinx kernel 3.17

      • smilencezq says:

        thanks,i used kernel lower than 3.18 and it can compile uImage, but it still cannot boot linux. I haved download other linux-sources at https://github.com/analogdevicesinc/linux.I have tried linux-2014_R2,linux-2014_R1, but just cannot compile telling lack *.o. I tested linux-xcomm_zynq-2013-04-19.tar.gz,xcomm_zynq-3-8, they can compile to uImage, and I use the devicetree generated by SDK2014.4,it cannot boot; I use the dts,dtsi supplied in the sources, It cannot boot,too. I tested the xcomm_zynq-3-10 and get the uImage, but when booting with the devicetree generated by SDK2014.4 it boot but stop
        at "Exception stack(0xc0573f70 to 0xc0573fb8)
        3f60: c000e8fc 00000000 00000000 00000000
        3f80: c0572000 00000000 c03afcd8 c0565830 c0ec87c0 413fc090 00000000 00000000
        3fa0: c03ac98c c0573fb8 c000e8fc c000e900 60000013 ffffffff
        [] (__irq_svc+0x44/0x78) from [] (arch_cpu_idle+0x28/0x30)
        [] (arch_cpu_idle+0x28/0x30) from [] (cpu_startup_entry+0xb4/0x118)
        [] (cpu_startup_entry+0xb4/0x118) from [] (start_kernel+0x2c0/0x314)
        [] (start_kernel+0x2c0/0x314) from [] (0x8074)"

        and I don't know why. The linux-sources not right? or devicetree not ok?
        I used vivado 2014.4 make a self-made AXI-ip project and generate devicetree and boot with the u-boot,uImage compiled from xilinx git, it works well with the IP's linux driver. So my develop environment should be OK.

        • d9#idv-tech#com d9#idv-tech#com says:

          At which point it gives you this error message?

          • smilencezq says:

            I tested the xcomm_zynq-3-10 and get the uImage; using the u-boot compiled by xilinx-2014.4 source; using SDK 2014.4 to get devicetree; when booting from SD card.it shows lot message, and finally stop. The last message is
            ".......(a lot above)
            Exception stack(0xc0573f70 to 0xc0573fb8)
            3f60: c000e8fc 00000000 00000000 00000000
            3f80: c0572000 00000000 c03afcd8 c0565830 c0ec87c0 413fc090 00000000 00000000
            3fa0: c03ac98c c0573fb8 c000e8fc c000e900 60000013 ffffffff
            [] (__irq_svc+0x44/0x78) from [] (arch_cpu_idle+0x28/0x30)
            [] (arch_cpu_idle+0x28/0x30) from [] (cpu_startup_entry+0xb4/0x118)
            [] (cpu_startup_entry+0xb4/0x118) from [] (start_kernel+0x2c0/0x314)
            [] (start_kernel+0x2c0/0x314) from [] (0x8074)"
            (I don't know how to upload attachment here)
            Oh, I get many warnings in my vivado project. May it be the reason?

          • d9#idv-tech#com d9#idv-tech#com says:

            Lots of warnings is typical for HDL tools, but not errors or timing violation. Open implemented design and go thru reports - you must have no errors.
            Also, Linux kernel hangs at some point during boot - by figuring out what's got loaded last and at which point it hanged - may give you a clue. In a log you posted about I see no anything useful.

          • smilencezq says:

            full boot info is:(build kernel from xcomm-3-10;using xsdk2014.4 make devicetee )

            S[YX,27
            OEM: 5048
            Name: SD04G
            Tran Speed: 50000000
            Rd Block Len: 512
            SD version 3.0
            High Capacity: Yes
            Capacity: 3.7 GiB
            Bus Width: 4-bit
            reading uEnv.txt
            ** Unable to read file uEnv.txt **
            Copying Linux from SD to RAM...
            reading uImage
            2918496 bytes read in 271 ms (10.3 MiB/s)
            reading devicetree.dtb
            10045 bytes read in 16 ms (612.3 KiB/s)
            reading uramdisk.image.gz
            5310018 bytes read in 466 ms (10.9 MiB/s)
            ## Booting kernel from Legacy Image at 02080000 ...
            Image Name: Linux-3.10.0
            Image Type: ARM Linux Kernel Image (uncompressed)
            Data Size: 2918432 Bytes = 2.8 MiB
            Load Address: 00008000
            Entry Point: 00008000
            Verifying Checksum ... OK
            ## Loading init Ramdisk from Legacy Image at 04000000 ...
            Image Name:
            Image Type: ARM Linux RAMDisk Image (gzip compressed)
            Data Size: 5309954 Bytes = 5.1 MiB
            Load Address: 00000000
            Entry Point: 00000000
            Verifying Checksum ... OK
            ## Flattened Device Tree blob at 02000000
            Booting using the fdt blob at 0x2000000
            Loading Kernel Image ... OK
            Loading Ramdisk to 1e814000, end 1ed24602 ... OK
            Loading Device Tree to 1e80e000, end 1e81373c ... OK

            Starting kernel ...

            Uncompressing Linux... done, booting the kernel.
            Booting Linux on physical CPU 0x0
            Linux version 3.10.0 (root@zq) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-104) ) #1 SMP PREEMPT Mon Mar 9 14:08:01 CST 2015
            CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
            CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
            Machine: Xilinx Zynq Platform, model: xlnx,zynq-7000
            bootconsole [earlycon0] enabled
            cma: CMA: reserved 40 MiB at 1c000000
            Memory policy: ECC disabled, Data cache writealloc
            PERCPU: Embedded 8 pages/cpu @c0ecb000 s8640 r8192 d15936 u32768
            Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
            Kernel command line: console=ttyPS0,115200 root=/dev/ram rw earlyprintk
            PID hash table entries: 2048 (order: 1, 8192 bytes)
            Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
            Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
            Memory: 512MB = 512MB total
            Memory: 462408k/462408k available, 61880k reserved, 0K highmem
            Virtual kernel memory layout:
            vector : 0xffff0000 - 0xffff1000 ( 4 kB)
            fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
            vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
            lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
            pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
            modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
            .text : 0xc0008000 - 0xc054423c (5361 kB)
            .init : 0xc0545000 - 0xc05701c0 ( 173 kB)
            .data : 0xc0572000 - 0xc05aec40 ( 244 kB)
            .bss : 0xc05aec40 - 0xc0abfc60 (5189 kB)
            Preemptible hierarchical RCU implementation.
            RCU lockdep checking is enabled.
            Dump stacks of tasks blocking RCU-preempt GP.
            RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
            NR_IRQS:16 nr_irqs:16 16
            slcr mapped to e0802000
            Zynq clock init
            sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 1207ms
            timer #0 at e0804000, irq=43
            Console: colour dummy device 80x30
            Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
            ... MAX_LOCKDEP_SUBCLASSES: 8
            ... MAX_LOCK_DEPTH: 48
            ... MAX_LOCKDEP_KEYS: 8191
            ... CLASSHASH_SIZE: 4096
            ... MAX_LOCKDEP_ENTRIES: 16384
            ... MAX_LOCKDEP_CHAINS: 32768
            ... CHAINHASH_SIZE: 16384
            memory used by lock dependency info: 3695 kB
            per task-struct memory footprint: 1152 bytes
            Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
            pid_max: default: 32768 minimum: 301
            Mount-cache hash table entries: 512
            CPU: Testing write buffer coherency: ok
            CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
            Setting up static identity map for 0xc03ae368 - 0xc03ae39c
            L310 cache controller enabled
            l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72360000, Cache size: 524288 B
            CPU1: Booted secondary processor
            CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
            Brought up 2 CPUs
            SMP: Total of 2 processors activated (2664.03 BogoMIPS).
            CPU: All CPU(s) started in SVC mode.
            devtmpfs: initialized
            regulator-dummy: no parameters
            NET: Registered protocol family 16
            DMA: preallocated 256 KiB pool for atomic coherent allocations
            hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
            hw-breakpoint: maximum watchpoint size is 4 bytes.
            bio: create slab at 0
            SCSI subsystem initialized
            usbcore: registered new interface driver usbfs
            usbcore: registered new interface driver hub
            usbcore: registered new device driver usb
            Advanced Linux Sound Architecture Driver Initialized.
            Switching to clocksource ttc_clocksource
            NET: Registered protocol family 2
            TCP established hash table entries: 4096 (order: 3, 32768 bytes)
            TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
            TCP: Hash tables configured (established 4096 bind 4096)
            TCP: reno registered
            UDP hash table entries: 256 (order: 2, 20480 bytes)
            UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
            NET: Registered protocol family 1
            Trying to unpack rootfs image as initramfs...
            rootfs image is not initramfs (no cpio magic); looks like an initrd
            Freeing initrd memory: 5184K (de814000 - ded24000)
            hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
            msgmni has been set to 993
            io scheduler noop registered
            io scheduler deadline registered
            io scheduler cfq registered (default)
            dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-2364208
            dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
            xuartps e0001000.serial: aper_clk clock not found.
            xuartps: probe of e0001000.serial failed with error -2
            [drm] Initialized drm 1.1.0 20060810
            brd: module loaded
            loop: module loaded
            libphy: XEMACPS mii bus: probed
            Unable to handle kernel NULL pointer dereference at virtual address 0000001c
            pgd = c0004000
            [0000001c] *pgd=00000000
            Internal error: Oops: 5 [#1] PREEMPT SMP ARM
            Modules linked in:
            CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.10.0 #1
            task: df86d1c0 ti: df86e000 task.ti: df86e000
            PC is at of_get_next_available_child+0x18/0x5c
            LR is at _raw_spin_lock_irqsave+0x58/0x64
            pc : [] lr : [] psr: 60000193
            sp : df86fe08 ip : 00000000 fp : dbc7c800
            r10: df8c07dc r9 : dbc7ad80 r8 : 00000000
            r7 : 00000000 r6 : dbc7a800 r5 : 00000000 r4 : 00000000
            r3 : df86d1c0 r2 : 00000001 r1 : 00000007 r0 : 60000113
            Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
            Control: 18c5387d Table: 0000404a DAC: 00000015
            Process swapper/0 (pid: 1, stack limit = 0xdf86e238)
            Stack: (0xdf86fe08 to 0xdf870000)
            fe00: dbc7c800 dbc7ad8c dbc7a800 c02b7570 dbc7ad8c dbc7a800
            fe20: df8c1010 df8c1000 dbc7ad80 00000000 dbc7ad8c dbc7a800 df8c1010 df8c1000
            fe40: dbc7ad80 df8c07dc dbc7c800 c0238f2c c010988c 00000000 c0545278 00000001
            fe60: 00000000 c010988c ffffffff c00437f8 df863308 00000003 df8c2630 00000000
            fe80: c05982c4 df8c1010 df8c1044 c05982c4 c01ede1c c0559a18 c0545278 00000000
            fea0: 00000000 c01eec24 c01eec10 c01edcc8 00000000 df8c1010 df8c1044 c05982c4
            fec0: c01ede1c c01ede8c 00000000 df86fed8 c05982c4 c01ec490 df8632a8 df8bca90
            fee0: c05982c4 c05982c4 dbc75340 c058e540 00000000 c01ed470 c04cc212 df8add48
            ff00: 00000000 c05982c4 c0565634 c056cdc0 c05aec40 c0559a18 00000000 c01ee16c
            ff20: 00000000 00000006 c0565634 c056cdc0 c05aec40 c0559a18 00000000 c0008628
            ff40: c0559a18 df86d1c0 c056d030 00000007 00000006 c0565634 c056cdc0 c05aec40
            ff60: 00000087 c0545278 c0565640 c054591c 00000006 00000006 c0545278 00000000
            ff80: 00000000 c0eccac0 00000000 c03a2794 00000000 00000000 00000000 00000000
            ffa0: 00000000 c03a279c 00000000 c000ddc8 00000000 00000000 00000000 00000000
            ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
            ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
            [] (of_get_next_available_child+0x18/0x5c) from [] (of_mdiobus_register+0x64/0x2c8)
            [] (of_mdiobus_register+0x64/0x2c8) from [] (xemacps_probe+0x390/0x760)
            [] (xemacps_probe+0x390/0x760) from [] (platform_drv_probe+0x14/0x18)
            [] (platform_drv_probe+0x14/0x18) from [] (driver_probe_device+0xa0/0x1f4)
            [] (driver_probe_device+0xa0/0x1f4) from [] (__driver_attach+0x70/0x94)
            [] (__driver_attach+0x70/0x94) from [] (bus_for_each_dev+0x50/0x88)
            [] (bus_for_each_dev+0x50/0x88) from [] (bus_add_driver+0xc8/0x21c)
            [] (bus_add_driver+0xc8/0x21c) from [] (driver_register+0x9c/0x12c)
            [] (driver_register+0x9c/0x12c) from [] (do_one_initcall+0x90/0x144)
            [] (do_one_initcall+0x90/0x144) from [] (kernel_init_freeable+0xfc/0x1c4)
            [] (kernel_init_freeable+0xfc/0x1c4) from [] (kernel_init+0x8/0xe4)
            [] (kernel_init+0x8/0xe4) from [] (ret_from_fork+0x14/0x2c)
            Code: e59f0048 e1a04001 eb03e610 e3540000 (0595401c)
            ---[ end trace 26d56494a3f9dccd ]---
            note: swapper/0[1] exited with preempt_count 1
            Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

            CPU0: stopping
            CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D 3.10.0 #1
            [] (unwind_backtrace+0x0/0xe0) from [] (show_stack+0x10/0x14)
            [] (show_stack+0x10/0x14) from [] (ipi_cpu_stop+0x3c/0x6c)
            [] (ipi_cpu_stop+0x3c/0x6c) from [] (handle_IPI+0x5c/0x7c)
            [] (handle_IPI+0x5c/0x7c) from [] (gic_handle_irq+0x58/0x60)
            [] (gic_handle_irq+0x58/0x60) from [] (__irq_svc+0x44/0x78)
            Exception stack(0xc0573f70 to 0xc0573fb8)
            3f60: c000e8fc 00000000 00000000 00000000
            3f80: c0572000 00000000 c03afcd8 c0565830 c0ec87c0 413fc090 00000000 00000000
            3fa0: c03ac98c c0573fb8 c000e8fc c000e900 60000013 ffffffff
            [] (__irq_svc+0x44/0x78) from [] (arch_cpu_idle+0x28/0x30)
            [] (arch_cpu_idle+0x28/0x30) from [] (cpu_startup_entry+0xb4/0x118)
            [] (cpu_startup_entry+0xb4/0x118) from [] (start_kernel+0x2c0/0x314)
            [] (start_kernel+0x2c0/0x314) from [] (0x8074)

          • d9#idv-tech#com d9#idv-tech#com says:

            Well, from what I can see - you most likely have either hardware design issues and/or incorrect device tree.
            1. When it try to init PS UART - it can't find aper_clk referenced in UART device tree node, which could be DTS error and/or missing clock description and/or missing clock in HDL design.
            2. Later it try to init PS ETHERNET and failed at PHY probing, which again can be DTS and/or HDL design issue.

            Are you using Analog Devices HDL reference design? If so, you better to use it's DTS. At least initially.
            xuartps e0001000.serial: aper_clk clock not found.
            xuartps: probe of e0001000.serial failed with error -2
            libphy: XEMACPS mii bus: probed
            Unable to handle kernel NULL pointer dereference at virtual address 0000001c

          • smilencezq says:

            hello.Now I'm using:
            1. hdl-hdl_2014_r2.zip, and build the HW with a few modification such as vivado&IP verison and comment #set_property -dict [list CONFIG.USE_BOARD_FLOW {true} CONFIG.IIC_BOARD_INTERFACE {IIC_MAIN}] $axi_iic_main.
            2. And using 2014_R2 at https://github.com/analogdevicesinc/linux/tree/2014_R2,and build kernel with modification using files of xcomm-3-10:
            make ARCH=arm zynq_xcomm_adv7511_defconfig
            //drivers/media/usb/Kconfig:27: can't open file "drivers/media/usb/tlg2300/Kconfig"
            make ARCH=arm -j5 UIMAGE_LOADADDR=0x8000 uImage
            //In file included from drivers/usb/core/hub.c:21:0: include/linux/usbdevice_fs.h:31:37: fatal error: uapi/linux/usbdevice_fs.h: No such file or directory
            //repalce drivers/usb/core/devio.c.
            3. using devicetree generated of XSDK it can boot but don't show any info about hdmi.
            4. using devicetree generated using 2014_r2 kernel's dts,dtsi fils.
            It can boot, show HDMI info, but when I run Qt-hello program, it shows nothing, just hang there.

            the info is :
            5310244 bytes read in 462 ms (11 MiB/s)
            ## Booting kernel from Legacy Image at 02080000 ...
            Image Name: Linux-3.17.0
            Image Type: ARM Linux Kernel Image (uncompressed)
            Data Size: 3223576 Bytes = 3.1 MiB
            Load Address: 00008000
            Entry Point: 00008000
            Verifying Checksum ... OK
            ## Loading init Ramdisk from Legacy Image at 04000000 ...
            Image Name:
            Image Type: ARM Linux RAMDisk Image (gzip compressed)
            Data Size: 5310180 Bytes = 5.1 MiB
            Load Address: 00000000
            Entry Point: 00000000
            Verifying Checksum ... OK
            ## Flattened Device Tree blob at 02000000
            Booting using the fdt blob at 0x2000000
            Loading Kernel Image ... OK
            Loading Ramdisk to 1e814000, end 1ed246e4 ... OK
            Loading Device Tree to 1e80e000, end 1e8139be ... OK

            Starting kernel ...

            Uncompressing Linux... done, booting the kernel.
            Booting Linux on physical CPU 0x0
            Linux version 3.17.0 (zq@zq) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-104) ) #1 SMP PREEMPT Thu Mar 12 09:11:21 CST 2015
            CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
            CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
            Machine model: Xilinx Zynq ZED
            bootconsole [earlycon0] enabled
            cma: Reserved 128 MiB at 16800000
            Memory policy: Data cache writealloc
            PERCPU: Embedded 7 pages/cpu @dfb9c000 s8128 r8192 d12352 u32768
            Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
            Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait
            PID hash table entries: 2048 (order: 1, 8192 bytes)
            Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
            Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
            Memory: 376576K/524288K available (4300K kernel code, 242K rwdata, 1640K rodata, 203K init, 134K bss, 147712K reserved, 0K highmem)
            Virtual kernel memory layout:
            vector : 0xffff0000 - 0xffff1000 ( 4 kB)
            fixmap : 0xffc00000 - 0xffe00000 (2048 kB)
            vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
            lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
            pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
            modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
            .text : 0xc0008000 - 0xc05d5654 (5942 kB)
            .init : 0xc05d6000 - 0xc0608fc0 ( 204 kB)
            .data : 0xc060a000 - 0xc0646a20 ( 243 kB)
            .bss : 0xc0646a20 - 0xc0668520 ( 135 kB)
            Preemptible hierarchical RCU implementation.
            Dump stacks of tasks blocking RCU-preempt GP.
            RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
            RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
            NR_IRQS:16 nr_irqs:16 16
            L2C: platform provided aux values match the hardware, so have no effect. Please remove them.
            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 0x76360001
            slcr mapped to e0804000
            zynq_clock_init: clkc starts at e0804100
            Zynq clock init
            sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 1207951633ns
            timer #0 at e0806000, irq=43
            Console: colour dummy device 80x30
            Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
            pid_max: default: 32768 minimum: 301
            Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
            Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
            CPU: Testing write buffer coherency: ok
            CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
            Setting up static identity map for 0x40f4b0 - 0x40f508
            CPU1: Booted secondary processor
            CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
            Brought up 2 CPUs
            SMP: Total of 2 processors activated.
            CPU: All CPU(s) started in SVC mode.
            devtmpfs: initialized
            VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
            regulator-dummy: no parameters
            NET: Registered protocol family 16
            DMA: preallocated 256 KiB pool for atomic coherent allocations
            cpuidle: using governor ladder
            cpuidle: using governor menu
            hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
            hw-breakpoint: maximum watchpoint size is 4 bytes.
            zynq-ocm f800c000.ps7-ocm: ZYNQ OCM pool: 256 KiB @ 0xe0880000
            SCSI subsystem initialized
            usbcore: registered new interface driver usbfs
            usbcore: registered new interface driver hub
            usbcore: registered new device driver usb
            media: Linux media interface: v0.10
            Linux video capture interface: v2.00
            EDAC MC: Ver: 3.0.0
            Advanced Linux Sound Architecture Driver Initialized.
            Switched to clocksource ttc_clocksource
            NET: Registered protocol family 2
            TCP established hash table entries: 4096 (order: 2, 16384 bytes)
            TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
            TCP: Hash tables configured (established 4096 bind 4096)
            TCP: reno registered
            UDP hash table entries: 256 (order: 1, 8192 bytes)
            UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
            NET: Registered protocol family 1
            Trying to unpack rootfs image as initramfs...
            rootfs image is not initramfs (no cpio magic); looks like an initrd
            Freeing initrd memory: 5184K (de814000 - ded24000)
            hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
            futex hash table entries: 512 (order: 3, 32768 bytes)
            msgmni has been set to 1001
            io scheduler noop registered
            io scheduler deadline registered
            io scheduler cfq registered (default)
            dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-2364208
            dma-pl330 f8003000.ps7-dma: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
            xuartps e0001000.uart: clock name 'aper_clk' is deprecated.
            xuartps e0001000.uart: clock name 'ref_clk' is deprecated.
            e0001000.uart: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3125000) is a xuartps
            郼onsole [ttyPS0] enabled
            console [ttyPS0] enabled
            bootconsole [earlycon0] disabled
            bootconsole [earlycon0] disabled
            xdevcfg f8007000.devcfg: ioremap 0xf8007000 to e081a000
            [drm] Initialized drm 1.1.0 20060810
            drivers/gpu/drm/adi_axi_hdmi/axi_hdmi_drv.c:axi_hdmi_platform_probe[175]
            platform 70e00000.axi_hdmi: Driver axi-hdmi requests probe deferral
            brd: module loaded
            loop: module loaded
            libphy: XEMACPS mii bus: probed
            xemacps e000b000.eth: pdev->id -1, baseaddr 0xe000b000, irq 54
            ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
            ULPI transceiver vendor/product ID 0x0451/0x1507
            Found TI TUSB1210 ULPI transceiver.
            ULPI integrity check: passed.
            zynq-ehci zynq-ehci.0: Xilinx Zynq USB EHCI Host Controller
            zynq-ehci zynq-ehci.0: new USB bus registered, assigned bus number 1
            zynq-ehci zynq-ehci.0: irq 53, io mem 0x00000000
            zynq-ehci zynq-ehci.0: USB 2.0 started, EHCI 1.00
            hub 1-0:1.0: USB hub found
            hub 1-0:1.0: 1 port detected
            usbcore: registered new interface driver usb-storage
            usbcore: registered new interface driver usbserial
            usbcore: registered new interface driver usbserial_generic
            usbserial: USB Serial support registered for generic
            usbcore: registered new interface driver ftdi_sio
            usbserial: USB Serial support registered for FTDI USB Serial Device
            mousedev: PS/2 mouse device common for all mice
            i2c /dev entries driver
            zynq-edac f8006000.ps7-ddrc: ecc not enabled
            Xilinx Zynq CpuIdle Driver started
            sdhci: Secure Digital Host Controller Interface driver
            sdhci: Copyright(c) Pierre Ossman
            sdhci-pltfm: SDHCI platform and OF driver helper
            sdhci-arasan e0100000.sdhci: No vmmc regulator found
            sdhci-arasan e0100000.sdhci: No vqmmc regulator found
            mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
            ledtrig-cpu: registered to indicate activity on CPUs
            hidraw: raw HID events driver (C) Jiri Kosina
            usbcore: registered new interface driver usbhid
            usbhid: USB HID core driver
            adv7511-hdmi-snd fpga-axi@0:adv7511_hdmi_snd: adv7511 75c00000.axi-spdif-tx mapping ok
            mmc0: new high speed SDHC card at address 0007
            mmcblk0: mmc0:0007 SD04G 3.70 GiB
            mmcblk0: p1
            zed-adau1761-snd fpga-axi@0:zed_sound: adau-hifi 77600000.axi-i2s mapping ok
            TCP: cubic registered
            NET: Registered protocol family 17
            Registering SWP/SWPB emulation handler
            Console: switching to colour frame buffer device 128x48
            axi-hdmi 70e00000.axi_hdmi: fb0: frame buffer device
            axi-hdmi 70e00000.axi_hdmi: registered panic notifier
            [drm] Initialized axi_hdmi_drm 1.0.0 20120930 on minor 0
            drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
            ALSA device list:
            #0: HDMI monitor
            #1: ZED ADAU1761
            RAMDISK: gzip image found at block 0
            EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
            VFS: Mounted root (ext4 filesystem) on device 1:0.
            Starting rcS...
            ++ Mounting filesystem
            mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
            mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory
            ++ Setting up mdev
            ++ Starting telnet daemon
            ++ Starting http daemon
            ++ Starting ftp daemon
            ++ Starting ssh daemon
            random: sshd urandom read with 11 bits of entropy available
            EXT4-fs (loop0): couldn't mount as ext3 due to feature incompatibilities
            EXT4-fs (loop0): mounting ext2 file system using the ext4 subsystem
            EXT4-fs (loop0): mounted filesystem without journal. Opts: (null)
            rcS Complete
            zynq> ls home/zq/
            Program
            zynq> random: nonblocking pool is initialized
            zynq> cd /mnt/
            zynq> ls
            BOOT.bin hello-zynq uImage
            devicetree.dtb qt_lib uramdisk.image.gz
            zynq> ./hello-zynq -qws
            ^C
            zynq> fdisk -l

            Disk /dev/mmcblk0: 3980 MB, 3980394496 bytes
            9 heads, 8 sectors/track, 107975 cylinders
            Units = cylinders of 72 * 512 = 36864 bytes

            Device Boot Start End Blocks Id System
            /dev/mmcblk0p1 114 107976 3883008 b Win95 FAT32
            zynq> ls /home/zq/Program/Qt473-ZYNQ/install/
            bin features include lost+found plugins
            doc imports lib mkspecs translations
            zynq>

          • smilencezq says:

            3223640 bytes read in 288 ms (10.7 MiB/s)
            reading devicetree.dtb
            10687 bytes read in 17 ms (613.3 KiB/s)
            reading uramdisk.image.gz
            5310244 bytes read in 462 ms (11 MiB/s)
            ## Booting kernel from Legacy Image at 02080000 ...
            Image Name: Linux-3.17.0
            Image Type: ARM Linux Kernel Image (uncompressed)
            Data Size: 3223576 Bytes = 3.1 MiB
            Load Address: 00008000
            Entry Point: 00008000
            Verifying Checksum ... OK
            ## Loading init Ramdisk from Legacy Image at 04000000 ...
            Image Name:
            Image Type: ARM Linux RAMDisk Image (gzip compressed)
            Data Size: 5310180 Bytes = 5.1 MiB
            Load Address: 00000000
            Entry Point: 00000000
            Verifying Checksum ... OK
            ## Flattened Device Tree blob at 02000000
            Booting using the fdt blob at 0x2000000
            Loading Kernel Image ... OK
            Loading Ramdisk to 1e814000, end 1ed246e4 ... OK
            Loading Device Tree to 1e80e000, end 1e8139be ... OK

            Starting kernel ...

            Uncompressing Linux... done, booting the kernel.
            Booting Linux on physical CPU 0x0
            Linux version 3.17.0 (zq@zq) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-104) ) #1 SMP PREEMPT Thu Mar 12 09:11:21 CST 2015
            CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
            CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
            Machine model: Xilinx Zynq ZED
            bootconsole [earlycon0] enabled
            cma: Reserved 128 MiB at 16800000
            Memory policy: Data cache writealloc
            PERCPU: Embedded 7 pages/cpu @dfb9c000 s8128 r8192 d12352 u32768
            Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
            Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait
            PID hash table entries: 2048 (order: 1, 8192 bytes)
            Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
            Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
            Memory: 376576K/524288K available (4300K kernel code, 242K rwdata, 1640K rodata, 203K init, 134K bss, 147712K reserved, 0K highmem)
            Virtual kernel memory layout:
            vector : 0xffff0000 - 0xffff1000 ( 4 kB)
            fixmap : 0xffc00000 - 0xffe00000 (2048 kB)
            vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
            lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
            pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
            modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
            .text : 0xc0008000 - 0xc05d5654 (5942 kB)
            .init : 0xc05d6000 - 0xc0608fc0 ( 204 kB)
            .data : 0xc060a000 - 0xc0646a20 ( 243 kB)
            .bss : 0xc0646a20 - 0xc0668520 ( 135 kB)
            Preemptible hierarchical RCU implementation.
            Dump stacks of tasks blocking RCU-preempt GP.
            RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
            RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
            NR_IRQS:16 nr_irqs:16 16
            L2C: platform provided aux values match the hardware, so have no effect. Please remove them.
            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 0x76360001
            slcr mapped to e0804000
            zynq_clock_init: clkc starts at e0804100
            Zynq clock init
            sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 1207951633ns
            timer #0 at e0806000, irq=43
            Console: colour dummy device 80x30
            Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
            pid_max: default: 32768 minimum: 301
            Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
            Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
            CPU: Testing write buffer coherency: ok
            CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
            Setting up static identity map for 0x40f4b0 - 0x40f508
            CPU1: Booted secondary processor
            CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
            Brought up 2 CPUs
            SMP: Total of 2 processors activated.
            CPU: All CPU(s) started in SVC mode.
            devtmpfs: initialized
            VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
            regulator-dummy: no parameters
            NET: Registered protocol family 16
            DMA: preallocated 256 KiB pool for atomic coherent allocations
            cpuidle: using governor ladder
            cpuidle: using governor menu
            hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
            hw-breakpoint: maximum watchpoint size is 4 bytes.
            zynq-ocm f800c000.ps7-ocm: ZYNQ OCM pool: 256 KiB @ 0xe0880000
            SCSI subsystem initialized
            usbcore: registered new interface driver usbfs
            usbcore: registered new interface driver hub
            usbcore: registered new device driver usb
            media: Linux media interface: v0.10
            Linux video capture interface: v2.00
            EDAC MC: Ver: 3.0.0
            Advanced Linux Sound Architecture Driver Initialized.
            Switched to clocksource ttc_clocksource
            NET: Registered protocol family 2
            TCP established hash table entries: 4096 (order: 2, 16384 bytes)
            TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
            TCP: Hash tables configured (established 4096 bind 4096)
            TCP: reno registered
            UDP hash table entries: 256 (order: 1, 8192 bytes)
            UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
            NET: Registered protocol family 1
            Trying to unpack rootfs image as initramfs...
            rootfs image is not initramfs (no cpio magic); looks like an initrd
            Freeing initrd memory: 5184K (de814000 - ded24000)
            hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
            futex hash table entries: 512 (order: 3, 32768 bytes)
            msgmni has been set to 1001
            io scheduler noop registered
            io scheduler deadline registered
            io scheduler cfq registered (default)
            dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-2364208
            dma-pl330 f8003000.ps7-dma: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
            xuartps e0001000.uart: clock name 'aper_clk' is deprecated.
            xuartps e0001000.uart: clock name 'ref_clk' is deprecated.
            e0001000.uart: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3125000) is a xuartps
            郼onsole [ttyPS0] enabled
            console [ttyPS0] enabled
            bootconsole [earlycon0] disabled
            bootconsole [earlycon0] disabled
            xdevcfg f8007000.devcfg: ioremap 0xf8007000 to e081a000
            [drm] Initialized drm 1.1.0 20060810
            drivers/gpu/drm/adi_axi_hdmi/axi_hdmi_drv.c:axi_hdmi_platform_probe[175]
            platform 70e00000.axi_hdmi: Driver axi-hdmi requests probe deferral
            brd: module loaded
            loop: module loaded
            libphy: XEMACPS mii bus: probed
            xemacps e000b000.eth: pdev->id -1, baseaddr 0xe000b000, irq 54
            ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
            ULPI transceiver vendor/product ID 0x0451/0x1507
            Found TI TUSB1210 ULPI transceiver.
            ULPI integrity check: passed.
            zynq-ehci zynq-ehci.0: Xilinx Zynq USB EHCI Host Controller
            zynq-ehci zynq-ehci.0: new USB bus registered, assigned bus number 1
            zynq-ehci zynq-ehci.0: irq 53, io mem 0x00000000
            zynq-ehci zynq-ehci.0: USB 2.0 started, EHCI 1.00
            hub 1-0:1.0: USB hub found
            hub 1-0:1.0: 1 port detected
            usbcore: registered new interface driver usb-storage
            usbcore: registered new interface driver usbserial
            usbcore: registered new interface driver usbserial_generic
            usbserial: USB Serial support registered for generic
            usbcore: registered new interface driver ftdi_sio
            usbserial: USB Serial support registered for FTDI USB Serial Device
            mousedev: PS/2 mouse device common for all mice
            i2c /dev entries driver
            zynq-edac f8006000.ps7-ddrc: ecc not enabled
            Xilinx Zynq CpuIdle Driver started
            sdhci: Secure Digital Host Controller Interface driver
            sdhci: Copyright(c) Pierre Ossman
            sdhci-pltfm: SDHCI platform and OF driver helper
            sdhci-arasan e0100000.sdhci: No vmmc regulator found
            sdhci-arasan e0100000.sdhci: No vqmmc regulator found
            mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
            ledtrig-cpu: registered to indicate activity on CPUs
            hidraw: raw HID events driver (C) Jiri Kosina
            usbcore: registered new interface driver usbhid
            usbhid: USB HID core driver
            adv7511-hdmi-snd fpga-axi@0:adv7511_hdmi_snd: adv7511 75c00000.axi-spdif-tx mapping ok
            zed-adau1761-snd fpga-axi@0:zed_sound: adau-hifi 77600000.axi-i2s mapping ok
            mmc0: new high speed SDHC card at address 0007
            mmcblk0: mmc0:0007 SD04G 3.70 GiB
            TCP: cubic registered
            NET: Registered protocol family 17
            mmcblk0: p1
            Registering SWP/SWPB emulation handler
            Console: switching to colour frame buffer device 128x48
            axi-hdmi 70e00000.axi_hdmi: fb0: frame buffer device
            axi-hdmi 70e00000.axi_hdmi: registered panic notifier
            [drm] Initialized axi_hdmi_drm 1.0.0 20120930 on minor 0
            drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
            ALSA device list:
            #0: HDMI monitor
            #1: ZED ADAU1761
            RAMDISK: gzip image found at block 0
            EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
            VFS: Mounted root (ext4 filesystem) on device 1:0.
            Starting rcS...
            ++ Mounting filesystem
            mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
            mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory
            ++ Setting up mdev
            ++ Starting telnet daemon
            ++ Starting http daemon
            ++ Starting ftp daemon
            ++ Starting ssh daemon
            random: sshd urandom read with 13 bits of entropy available
            FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
            EXT4-fs (loop0): couldn't mount as ext3 due to feature incompatibilities
            EXT4-fs (loop0): mounting ext2 file system using the ext4 subsystem
            EXT4-fs (loop0): warning: mounting unchecked fs, running e2fsck is recommended
            EXT4-fs (loop0): mounted filesystem without journal. Opts: (null)
            rcS Complete
            zynq> random: nonblocking pool is initialized

            zynq> cd /mnt/
            zynq> ls
            BOOT.bin hello-zynq uImage
            devicetree.dtb qt_lib uramdisk.image.gz
            zynq> ./hello-zynq -qws

          • smilencezq says:

            hello! I have solved the problem. Using linux-AD-2014R2 to build the kernel and devicetree with vivado2014.4 is OK. My HDMI-VGA switch didn't work very well; It finally goes well after I plug into PC and then plug into Zedboard again. Now it can boot successfully and run Qt APP. Much thanks to you!

  8. leesg says:

    hello,
    in step 4 and 5, I tried but can't see the "configuration for OS: petalinux " as in your picture.
    can you figure out how to get it ? ( for OS: petalinux )
    thank you

1 Pings/Trackbacks for "HDMI on ZedBoard with Petalinux."
  1. […] HDMI on ZedBoard with Petalinux […]

Leave a Reply