Hi!
I am currently trying to get the HDMI to work on petalinux to run, after I am done setting the HDMI, a GUI using Qt5.
To do so, I have followed (and tweeked a little bit since it's for a platform running Vivado 2013.4 and Petalinux 2013.10) this tutorial. I have also followed this tutorial successfully. So basically, I can successfully boot the Zedboard from the SD card, run and interact with custom PL. But my problem starts when I start trying to use the HDMI.
I downloaded the hdl-master archive from AnalogDevicesInc, sourced all required blocks and created the FSBL. Then, if I create a petalinux project from there and compile it with the current kernel, it boots but the HDMI does not load.
So I kept following the tutorial and added the custom kernel from AnalogDevicesInc. With a little modification to the config file (commenting out every reference to Mathworks), it compiles but throwes a kernel panic. I tried modifying the device tree, modifying the config file, and now I feel kind of stuck.
[code]
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.6.0-gf2a13b5-dirty (briteseed@briteseed-VirtualBox) (gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17) ) #5 SMP PREEMPT Wed May 24 15:13:51 CDT 2017
CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine model: ZedBoard-HDMI_2
bootconsole [earlycon0] enabled
cma: Reserved 128 MiB at 0x18000000
Memory policy: Data cache writealloc
percpu: Embedded 12 pages/cpu @d7b92000 s19456 r8192 d21504 u49152
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyPS0,115200 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: 376460K/524288K available (4915K kernel code, 253K rwdata, 2148K rodata, 4288K init, 139K bss, 16756K reserved, 131072K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xe0800000 - 0xff800000 ( 496 MB)
lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc06edec0 (7064 kB)
.init : 0xc06ee000 - 0xc0b1e000 (4288 kB)
.data : 0xc0b1e000 - 0xc0b5d7a0 ( 254 kB)
.bss : 0xc0b5d7a0 - 0xc0b80530 ( 140 kB)
Preemptible hierarchical RCU implementation.
Build-time adjustment of leaf fanout to 32.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
zynq_early_efuse_init: no efuse node found
------------[ cut here ]------------
kernel BUG at /home/briteseed/ZedBoard-HDMI_2/components/linux-kernel/analogdevices-kernel/arch/arm/mach-zynq/efuse.c:59!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-gf2a13b5-dirty #5
Hardware name: Xilinx Zynq Platform
task: c0b22e00 ti: c0b1e000 task.ti: c0b1e000
PC is at zynq_early_efuse_init+0x28/0x88
LR is at zynq_early_efuse_init+0x28/0x88
pc : [<c06f6b18>] lr : [<c06f6b18>] psr: 200000d3
sp : c0b1ffa8 ip : 00000000 fp : 00000000
r10: 00000000 r9 : d7fffe00 r8 : c071aa30
r7 : c0b20400 r6 : ffffffff r5 : c0b5d7c0 r4 : 00000000
r3 : 00000001 r2 : 00000001 r1 : 600000d3 r0 : 0000002a
Flags: nzCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none
Control: 10c5387d Table: 0000406a DAC: 00000051
Process swapper/0 (pid: 0, stack limit = 0xc0b1e210)
Stack: (0xc0b1ffa8 to 0xc0b20000)
ffa0: c071aa20 c06f6a8c c071aa20 c06f11a8 00000000 c06eeab4
ffc0: ffffffff ffffffff 00000000 c06ee670 00000000 c071aa30 00000000 c0b5da54
ffe0: c0b20480 c071aa2c c0b23fec 0000406a 414fc091 0000807c 00000000 00000000
[<c06f6b18>] (zynq_early_efuse_init) from [<c06f6a8c>] (zynq_irq_init+0x8/0x14)
[<c06f6a8c>] (zynq_irq_init) from [<c06f11a8>] (init_IRQ+0x28/0x88)
[<c06f11a8>] (init_IRQ) from [<c06eeab4>] (start_kernel+0x200/0x384)
[<c06eeab4>] (start_kernel) from [<0000807c>] (0x807c)
Code: 1a000003 e59f1050 e59f0050 ebe67639 (e7f001f2)
---[ end trace cb88537fdc8fa200 ]---
Kernel panic - not syncing: Attempted to kill the idle task!
---[ end Kernel panic - not syncing: Attempted to kill the idle task!
[/code]
So my first question is, should I keep trying to use the AnalogDevicesInc kernel or does the mainline petalinux kernel now contains the driver for the ADV7511? If it does, I guess I should look more into the device tree for the HDMI to be recognize?
If I have to use the AnalogDevicesInc kernel, do you have any recommendation on how to proceed forward?
I am using Vivado 2015.4.2 and Petalinux 2015.4.
Thanks!
Paul