Hi everyone,
i am trying to display on the HDMI monitor, using the design (HDMI701:
https://wiki.trenz-electronic.de/display/PD/TE0720+HDMI701)
i made some modification to use it with the ultrascale MPSoC but i can't receive an output.
it is not a problem of i2c connection, i first tried with the pl design from analog and i was able to receive the output... only it was a green screen. after some reading it seems that it was a problem of data coming on the input D[0:11] of the chips. with the analog design it is possible to send minimum 16bits data, but since ADV7511 on the carrier board only receive 12bits data I just took some part of the data... not really working fully and i am getting this green screen.
Since the Trenz design is made on purpose to have only 12bits data i decided to use it, made some modifications to be able to use it with the ultrascale module.
i think my problem is coming from the devicetree/Image interraction.
For the zeadboard i used the linux git from analog, compiled it with their config and used the devicetree generated... it worked
For the TE0820 I went the same way:
- Linux git from analog, adi-zynqmp-defconfig to with i added the drm_i2c configfor the ADV7511
i used petalinux with the config files given at in the test-board/os of the module TE0820
- the devicetree has been generated and in the pl part added :
amba_pl@0 {
#address-cells = <0x2>;
#size-cells = <0x2>;
compatible = "simple-bus";
ranges;
dma@a0010000 {
#dma-cells = <0x1>;
clock-names = "s_axi_lite_aclk", "m_axi_mm2s_aclk", "m_axis_mm2s_aclk";
clocks = <0x3 0x47 0x3 0x47 0x3 0x47>;
compatible = "xlnx,axi-vdma-6.3", "xlnx,axi-vdma-1.00.a";
interrupt-names = "mm2s_introut";
interrupt-parent = <0x4>;
interrupts = <0x0 0x59 0x4>;
reg = <0x0 0xa0010000 0x0 0x1000>;
xlnx,addrwidth = <0x20>;
xlnx,flush-fsync = <0x1>;
xlnx,num-fstores = <0x1>;
dma-channel@a0010000 {
compatible = "xlnx,axi-vdma-mm2s-channel";
interrupts = <0x0 0x59 0x4>;
xlnx,datawidth = <0x20>;
xlnx,device-id = <0x0>;
};
};
PERIPHERAL@ff380000 {
compatible = "xlnx,PERIPHERAL-1.0";
reg = <0x0 0xff380000 0x0 0x80000>;
};
PERIPHERAL@ff990000 {
compatible = "xlnx,PERIPHERAL-1.0";
reg = <0x0 0xff990000 0x0 0x10000>;
};
v_tc@a0000000 {
clock-names = "clk", "s_axi_aclk";
clocks = <0x33 0x3 0x47>;
compatible = "xlnx,v-tc-6.1", "xlnx,v-tc-6.1";
interrupt-names = "irq";
interrupt-parent = <0x4>;
interrupts = <0x0 0x5a 0x4>;
reg = <0x0 0xa0000000 0x0 0x10000>;
xlnx,generator;
};
misc_clk_0 {
#clock-cells = <0x0>;
clock-frequency = <0x47868c0>;
compatible = "fixed-clock";
linux,phandle = <0x33>;
phandle = <0x33>;
};
};
and the node for the ADV7511 into the i2c1
when i boot, the adv7511 is well recognized but there is no ouput on the monitor
i imagine i am baddly connecting the part in my devicetree but i don't really see how. I tried to implement xilinx-drm but this one didn't seem to get probe either...
if any of you have an idea
best regards
Sarah