Hello Lucas, Sascha and the barebox mailing list guys! I am back with the new boards batch release (now QuadPlus and DualLite iMX6) Now I adapted barebox to fit both processors and it works quite well. From Barebox point-of-view the ldb node of the device-tree is using three timings and they are working good depending on which panel bridge board I am connecting to (1280x800, 1024x600 and 800x480). The custom startup code of barebox is looking for a special eeprom on the panel-bridge and set the device tree accordingly, i.e. setting the native-mode node to the correct display-timing. The same device-tree is used in Linux (as in attachment) as you can see the ldb section and the panel section, using a simple-panel and a correct panel timing using the innolux,g101ice_l01 panel driver timings. > >> No, Linux does not support DT defined modes in the panel. You need a >> panel with a proper compatible and driver. >> >> See drivers/gpu/drm/panel. For most LVDS panels simple-panel is what you >> want to use. >> They are ignored in the Barebox starup (as you know barebox can use the display-timings in the ldb section) but the panel section is used in linux. Nevertheless it does not work. The panel phandle is correctly set and the ldb is pointing with the fsl,panel node to it. (as used in the imx6q-b650v3.dts in the kernel dts file) > panel-lvds0 { > compatible = "innolux,g121x1-l03"; > backlight = <&backlight_lvds>; > power-supply = <®_lvds>; > > port { > panel_in_lvds0: endpoint { > remote-endpoint = <&lvds0_out>; > }; > }; > }; > &ldb { > status = "okay"; > > lvds0: lvds-channel@0 { > fsl,data-mapping = "spwg"; > fsl,data-width = <24>; > status = "okay"; > > port@4 { > reg = <4>; > > lvds0_out: endpoint { > remote-endpoint = <&panel_in_lvds0>; > }; > }; > }; > }; I do not see any difference, apart the display-timings in the ldb section. In my dts file: > panel: panel { > compatible = "innolux,g101ice_l01", "simple-panel"; > backlight = <&backlight_lvds>; > status = "okay"; > port { > in_lvds0: endpoint { > remote-endpoint = <&lvds0_out>; > }; > }; > }; > &ldb { > #address-cells = <1>; > #size-cells = <0>; > status = "okay"; > > lvds0: lvds-channel@0 { > fsl,data-mapping = "spwg"; > fsl,data-width = <24>; > fsl,panel = <&panel>; > status = "okay"; > > display-timings { > native-mode = <&am1024600l>; > ph800480t013: ph800480t013 { > clock-frequency = <33300000>; > hactive = <800>; > vactive = <480>; > hback-porch = <46>; > hfront-porch = <210>; > vback-porch = <23>; > vfront-porch = <22>; > hsync-len = <1>; > vsync-len = <1>; > hsync-active = <0>; > vsync-active = <0>; > de-active = <1>; > pixelclk-active = <0>; > }; > am1024600l: am1024600l { > clock-frequency = <51200000>; > hactive = <1024>; > vactive = <600>; > hback-porch = <0>; > hfront-porch = <320>; > vback-porch = <0>; > vfront-porch = <35>; > hsync-len = <1>; > vsync-len = <1>; > hsync-active = <0>; > vsync-active = <0>; > de-active = <1>; > pixelclk-active = <0>; > }; > am128080n3tz: am1280800n3tz { > clock-frequency = <71000000>; > hactive = <1280>; > vactive = <800>; > hback-porch = <50>; > hfront-porch = <50>; > vback-porch = <5>; > vfront-porch = <5>; > hsync-len = <60>; > vsync-len = <13>; > hsync-active = <0>; > vsync-active = <0>; > de-active = <1>; > pixelclk-active = <0>; > }; > }; > > port@4 { > reg = <4>; > lvds0_out: endpoint { > remote-endpoint = <&in_lvds0>; > }; > }; > > }; > }; Can you figure out why? -- Eurek s.r.l. | Electronic Engineering | http://www.eurek.it via Celletta 8/B, 40026 Imola, Italy | Phone: +39-(0)542-609120 p.iva 00690621206 - c.f. 04020030377 | Fax: +39-(0)542-609212