Hello,
I have been working at getting a custom device tree up and running to allow the Colibri iMX7S module to run a custom display plugged into the toradex evaluation board. I have custom values for the LCD settings, and I believe I have set them correctly. In my early development, I have taken the existing imx7-colibri-eval-v3.dtsi and put my own parameters into every single display-timing option stored there. after compilation, I ran an fdtdump on the compiled imx7s-colibri-eval-v3.dtb file, and I have attached the relevant section at the end of this question. It appears as though the dtb file has the correct timings in it, however when I boot up the board, I see the display I started with still works, and the display I am attempting to use will not start up. because the old display works, it makes me think that the settings I have changed are not actually changing anything. software is being loaded to the board through a customized easy-installer package, if needed, I can attach that as well, but its just the boot2qt package with a redirected image.json, new dtb files, a new zimage, and a modified uenv.txt.
Any help would be appreciated,
Nate Hinshaw
lcdif@30730000 {
compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif";
reg = <0x30730000 0x00010000>;
interrupts = <0x00000000 0x00000005 0x00000004>;
clocks = <0x00000001 0x0000007a 0x00000001 0x00000199 0x00000001 0x00000199>;
clock-names = "pix", "axi", "disp_axi";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x0000002b 0x0000002c>;
display = <0x0000002d>;
lcd-display {
bits-per-pixel = <0x00000020>;
bus-width = <0x00000012>;
linux,phandle = <0x0000002d>;
phandle = <0x0000002d>;
display-timings {
native-mode = <0x0000002e>;
640x480 {
clock-frequency = <0x018b0879>;
hactive = <0x000001e0>;
vactive = <0x00000280>;
hback-porch = <0x00000005>;
hfront-porch = <0x00000005>;
vback-porch = <0x00000002>;
vfront-porch = <0x00000002>;
hsync-len = <0x00000005>;
vsync-len = <0x00000002>;
de-active = <0x00000001>;
hsync-active = <0x00000000>;
vsync-active = <0x00000000>;
pixelclk-active = <0x00000001>;
linux,phandle = <0x0000002e>;
phandle = <0x0000002e>;
};
800x480 {
clock-frequency = <0x018b0879>;
hactive = <0x000001e0>;
vactive = <0x00000280>;
hback-porch = <0x00000005>;
hfront-porch = <0x00000005>;
vback-porch = <0x00000002>;
vfront-porch = <0x00000002>;
hsync-len = <0x00000005>;
vsync-len = <0x00000002>;
de-active = <0x00000001>;
hsync-active = <0x00000000>;
vsync-active = <0x00000000>;
pixelclk-active = <0x00000001>;
};
800x480pixclkact {
clock-frequency = <0x018b0879>;
hactive = <0x000001e0>;
vactive = <0x00000280>;
hback-porch = <0x00000005>;
hfront-porch = <0x00000005>;
vback-porch = <0x00000002>;
vfront-porch = <0x00000002>;
hsync-len = <0x00000005>;
vsync-len = <0x00000002>;
de-active = <0x00000001>;
hsync-active = <0x00000000>;
vsync-active = <0x00000000>;
pixelclk-active = <0x00000001>;
};
800x600 {
clock-frequency = <0x018b0879>;
hactive = <0x000001e0>;
vactive = <0x00000280>;
hback-porch = <0x00000005>;
hfront-porch = <0x00000005>;
vback-porch = <0x00000002>;
vfront-porch = <0x00000002>;
hsync-len = <0x00000005>;
vsync-len = <0x00000002>;
de-active = <0x00000001>;
hsync-active = <0x00000000>;
vsync-active = <0x00000000>;
pixelclk-active = <0x00000001>;
};
1024x600 {
clock-frequency = <0x018b0879>;
hactive = <0x000001e0>;
vactive = <0x00000280>;
hback-porch = <0x00000005>;
hfront-porch = <0x00000005>;
vback-porch = <0x00000002>;
vfront-porch = <0x00000002>;
hsync-len = <0x00000005>;
vsync-len = <0x00000002>;
de-active = <0x00000001>;
hsync-active = <0x00000000>;
vsync-active = <0x00000000>;
pixelclk-active = <0x00000001>;
};
1024x768 {
clock-frequency = <0x018b0879>;
hactive = <0x000001e0>;
vactive = <0x00000280>;
hback-porch = <0x00000005>;
hfront-porch = <0x00000005>;
vback-porch = <0x00000002>;
vfront-porch = <0x00000002>;
hsync-len = <0x00000005>;
vsync-len = <0x00000002>;
de-active = <0x00000001>;
hsync-active = <0x00000000>;
vsync-active = <0x00000000>;
pixelclk-active = <0x00000001>;
};
};
};
};