From f0e3839440a3145ba373c9e30764a532b5bd7381 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 19 Nov 2015 19:13:13 +0100 Subject: imx6qdl-apalis.dtsi: adapt to changed ldb driver (LVDS) The ldb driver which controls the LVDS output got heavily overhauled and its configuration from the cmdline seem no longer working. This adds a configuration to the device tree which can be activated from the cmdline with: video=mxcfb0:dev=ldb Signed-off-by: Max Krummenacher --- arch/arm/boot/dts/imx6qdl-apalis.dtsi | 112 +++++++++++++++++++++++++++++++--- 1 file changed, 104 insertions(+), 8 deletions(-) (limited to 'arch') diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi index b57547de31f8..289f9efb631f 100644 --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi @@ -81,8 +81,7 @@ mxcfb1: fb@0 { compatible = "fsl,mxc_sdc_fb"; disp_dev = "ldb"; - interface_pix_fmt = "LVDS666"; - mode_str ="LDB-XGA"; + interface_pix_fmt = "RGB666"; default_bpp = <16>; int_clk = <0>; late_init = <0>; @@ -995,13 +994,110 @@ }; &ldb { - ipu_id = <1>; - disp_id = <1>; - ext_ref = <1>; - mode = "spl1"; - sec_ipu_id = <1>; - sec_disp_id = <0>; status = "okay"; +// split-mode; +// dual-mode; + + lvds-channel@0 { + reg = <0>; + fsl,data-mapping = "spwg"; /* "jeida"; */ + fsl,data-width = <18>; + crtc = "ipu2-di1"; + primary; + status = "okay"; + + display-timings { +/* "native-mode" seems not to work, it chooses always the first entry + native-mode = <&timing_xga>; */ +#if 0 + /* LDB-AM-800600LTNQW-A0H */ + timing_svga: 800x600 { + clock-frequency = <55000000>; + hactive = <800>; + vactive = <600>; + hback-porch = <112>; + hfront-porch = <32>; + vback-porch = <3>; + vfront-porch = <17>; + hsync-len = <80>; + vsync-len = <4>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +#endif + /* Standard XGA timing */ + timing_xga: 1024x768 { + clock-frequency = <65000000>; + hactive = <1024>; + vactive = <768>; + hback-porch = <160>; + hfront-porch = <24>; + vback-porch = <29>; + vfront-porch = <3>; + hsync-len = <136>; + vsync-len = <6>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + timing_wxga: 1200x800 { + clock-frequency = <68930000>; + hactive = <1280>; + vactive = <800>; + hback-porch = <64>; + hfront-porch = <64>; + vback-porch = <5>; + vfront-porch = <5>; + hsync-len = <40>; + vsync-len = <6>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + timing_fullhd: 1920x1080 { + clock-frequency = <138500000>; + hactive = <1920>; + vactive = <1080>; + hback-porch = <80>; + hfront-porch = <48>; + vback-porch = <23>; + vfront-porch = <3>; + hsync-len = <32>; + vsync-len = <5>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + }; + }; + + lvds-channel@1 { + reg = <1>; + fsl,data-mapping = "spwg"; + fsl,data-width = <18>; + crtc = "ipu1-di0"; + status = "okay"; + + display-timings { +/* native-mode = <&timing_svga_ch2>;*/ + /* LDB-AM-800600LTNQW-A0H */ + timing_svga_ch2: 800x600 { + clock-frequency = <55000000>; + hactive = <800>; + vactive = <600>; + hback-porch = <112>; + hfront-porch = <32>; + vback-porch = <3>; + vfront-porch = <17>; + hsync-len = <80>; + vsync-len = <4>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + }; + }; }; &pwm1 { -- cgit v1.2.3