I am trying to integrate an LCD module with IMX6ULL. I am trying to use the lcdif node for the device tree to bring up my LCD. I am not using a build environment like Yocto, instead i am using a standalone Kernel source code building with my tool chain.
I have written my own customized device tree file and i have added the lcdif node under the aips2 tree.
lcdif: lcdif@21c8000 {
compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
reg = <0x021c8000 0x4000>;
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
<&clks IMX6UL_CLK_LCDIF_APB>,
<&clks IMX6UL_CLK_DUMMY>;
clock-names = "pix", "axi", "disp_axi";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif_dat
&pinctrl_lcdif_ctrl>;
lcd-supply = <®_3v3>;
display= <&display0>;
status = "okay";
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <50000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <1>;
hfront-porch = <200>;
hsync-len = <87>;
vback-porch = <29>;
vfront-porch = <200>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "lcd";
interface_pix_fmt = "RGB24";
//mode_str ="EA7-WVGA";
default_bpp = <24>;
int_clk = <0>;
late_init = <0>;
status = "okay";
};
I have the "MXC Framebuffer support" enabled. But i am stuck with this error during bootup.
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
OF: graph: no port node found in /soc/aips-bus@02100000/lcdif@21c8000
mxsfb 21c8000.lcdif: Failed to create outputs
Please let me know what i am doing wrong or if i am missing something important here. I know i am.
Also please feel free to ask for more details, if the above is not enough.
Thanks for your time and support.
EDIT: I almost missed to add one more question. The display timing variables in the device tree is probably wrong and i am assuming that even if they are wrong, i can still manage a /dev/fb0 on my Linux. I understand that i might need to get the variables right to get my LCD to display something right. Am i wrong in assuming something like that ?
Hi karth_t
reason for error may be that you are using "standalone Kernel source code building with my tool chain".
May be recommended to try nxp original linux from source.codeaurora.org/external/imx/linux-imx repository
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.70_2.3.0
Documentation :
Issues with other linux sources may be posted on meta-fsl-arm mailing list, so that someone familiar
with it could try to assist you.
https://lists.yoctoproject.org/g/meta-freescale
Best regards
igor