For the sake of the example, let's enable an LVDS Dual-Link display on a Cubieboard. Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> --- arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 69 +++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts index e35e6990c4b2..b10d387385d9 100644 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts @@ -85,6 +85,49 @@ led-1 { gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; }; }; + + panel: panel { + compatible = "panel-lvds"; + width-mm = <153>; + height-mm = <90>; + data-mapping = "vesa-24"; + + panel-timing { + clock-frequency = <148500000>; + hfront-porch = <88>; + hactive = <1920>; + hback-porch = <148>; + hsync-len = <44>; + + vfront-porch = <4>; + vactive = <1080>; + vback-porch = <36>; + vsync-len = <5>; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dual-lvds-even-pixels; + + panel_input_0: endpoint { + remote-endpoint = <&tcon0_out_panel>; + }; + }; + + port@1 { + reg = <1>; + dual-lvds-odd-pixels; + + panel_input_1: endpoint { + remote-endpoint = <&tcon1_out_panel>; + }; + }; + }; + }; }; &ahci { @@ -218,6 +261,32 @@ ®_usb2_vbus { status = "okay"; }; +&tcon0 { + pinctrl-names = "default"; + pinctrl-0 = <&lcd_lvds0_pins>; + link-companion = <&tcon1>; + status = "okay"; +}; + +&tcon0_out { + tcon0_out_panel: endpoint@0 { + remote-endpoint = <&panel_input_0>; + }; +}; + +&tcon1 { + pinctrl-names = "default"; + pinctrl-0 = <&lcd_lvds1_pins>; + link-companion = <&tcon0>; + status = "okay"; +}; + +&tcon1_out { + tcon1_out_panel: endpoint@0 { + remote-endpoint = <&panel_input_1>; + }; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pb_pins>; -- 2.33.1