Dig Kleppe Posted November 9, 2017 Posted November 9, 2017 Hi I moved from 3.14 to 4.13. In 3.14 I had a imx framebuffer , needed for my lvds LCD In the 4.13 kernel menuconfig i cannot find a way to set CONFIG_FB_IMX. How to enable this? Dig
Igor Posted November 9, 2017 Posted November 9, 2017 It is possible that there are no drivers for this in a modern kernel yet. This is common for all boards. Check around if there are some patches for or prepare to port this driver. We don't have resources for such task.
zador.blood.stained Posted November 9, 2017 Posted November 9, 2017 There is a i.MX6 LVDS driver, but it's a DRM driver (kernel option CONFIG_DRM_IMX_LDB). It may need some DT modifications in order to activate it (hard to say since I don't own any i.MX6 HW)
Dig Kleppe Posted November 9, 2017 Author Posted November 9, 2017 Hi, thanks for the quick reply. I was digging in the source and found the DRM stuff. I have compiled this into the kernel. Still no fb. Have to adapt the dtb. Is nobody using the LVDS on the solo module? Dig
zador.blood.stained Posted November 9, 2017 Posted November 9, 2017 I suggest looking at existing imx6* Device Trees in mainline kernel sources since looks like some devices enable LVDS output. https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit?id=0afe7a34921fc81b53a2d02ef69fb31eceef4c23
Dig Kleppe Posted November 10, 2017 Author Posted November 10, 2017 I have trouble getting the driver (imx-ldb) to load. It is present in the kernel, but there is no sign of it in dmesg. Also no fb. In my dtb: // ldb: ldb { The address was missing in the original dtsi , needed? ldb: ldb@020e0008 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb"; The driver is imx6q Works for Solo ? gpr = <&gpr>; status = "okay"; lvds-channel@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; status = "okay"; port@0 { reg = <0>; lvds0_mux_0: endpoint { remote-endpoint = <&ipu1_di0_lvds0>; }; }; port@1 { reg = <1>; lvds0_mux_1: endpoint { // remote-endpoint = <&ipu1_di1_lvds0>; remote_endpoint = <&panel_in>; }; }; }; panel { // klp compatible = "mitsubishi,aa121td01", "panel-lvds"; width-mm = <261>; height-mm = <163>; data-mapping = "jeida-24"; panel-timing { clock-frequency = <60000000>; hactive = <1024>; vactive = <600>; hback-porch = <160>; hfront-porch = <160>; vback-porch = <23>; vfront-porch = <12>; hsync-len = <70>; // 60 vsync-len = <15>;// 10 // <1>: high active // <0>: low active hsync-active = <1>;//hsync pulse is active low/high/ignored vsync-active = <1>;//vsync pulse is active low/high/ignored // de-active = <1>; pixelclk-active = <1>;// active high = drive pixel data on rising edge/sample data on falling edge // active low = drive pixel data on falling edge/ sample data on rising edge }; port { panel_in: endpoint { remote-endpoint = <&lvds_out>; }; }; }; Any idea?
zador.blood.stained Posted November 10, 2017 Posted November 10, 2017 4 minutes ago, Dig Kleppe said: // ldb: ldb { The address was missing in the original dtsi , needed? ldb: ldb@020e0008 { No, node name is irrelevant. 5 minutes ago, Dig Kleppe said: compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb"; The driver is imx6q Works for Solo ? I would suggest looking at DT bindings docs: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/display/imx
Dig Kleppe Posted November 10, 2017 Author Posted November 10, 2017 Thanks, I did, with above result. If the driver would not work for the solo i expect to see a message when the the driver is probed. It seems that no attempt is made to load the driver.
Recommended Posts