On Thu, Feb 13, 2020 at 12:23:57AM +0200, andrey.lebedev@gmail.com wrote: > From: Andrey Lebedev > > Define pins for LVDS channels 0 and 1, configure reset line for tcon0 and > provide sample LVDS panel, connected to tcon0. > > Signed-off-by: Andrey Lebedev And this prefix should be ARM: dts: sun7i ;) > --- > arch/arm/boot/dts/sun7i-a20.dtsi | 45 +++++++++++++++++++++++++++++--- > 1 file changed, 42 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > index 92b5be97085d..b05fdf8df32e 100644 > --- a/arch/arm/boot/dts/sun7i-a20.dtsi > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > @@ -47,6 +47,7 @@ > #include > #include > #include > +#include > > / { > interrupt-parent = <&gic>; > @@ -407,8 +408,8 @@ > compatible = "allwinner,sun7i-a20-tcon"; > reg = <0x01c0c000 0x1000>; > interrupts = ; > - resets = <&ccu RST_TCON0>; > - reset-names = "lcd"; > + resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>; > + reset-names = "lcd", "lvds"; > clocks = <&ccu CLK_AHB_LCD0>, > <&ccu CLK_TCON0_CH0>, > <&ccu CLK_TCON0_CH1>; > @@ -444,6 +445,11 @@ > #size-cells = <0>; > reg = <1>; > > + tcon0_out_lvds: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&lvds_in_tcon0>; > + allwinner,tcon-channel = <0>; > + }; A new line here would be nice > tcon0_out_hdmi: endpoint@1 { > reg = <1>; > remote-endpoint = <&hdmi_in_tcon0>; > @@ -686,6 +692,19 @@ > }; > }; > > + lvds_panel: panel@1c16500 { > + compatible = "panel-lvds"; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "disabled"; > + > + port { > + lvds_in_tcon0: endpoint { > + remote-endpoint = <&tcon0_out_lvds>; > + }; > + }; > + }; > + There's no point in creating that panel. > spi2: spi@1c17000 { > compatible = "allwinner,sun4i-a10-spi"; > reg = <0x01c17000 0x1000>; > @@ -872,7 +891,7 @@ > gmac_rgmii_pins: gmac-rgmii-pins { > pins = "PA0", "PA1", "PA2", > "PA3", "PA4", "PA5", "PA6", > - "PA7", "PA8", "PA10", > + "PA7", "PA8", "PA10", > "PA11", "PA12", "PA13", > "PA15", "PA16"; > function = "gmac"; > @@ -1162,6 +1181,26 @@ > pins = "PI20", "PI21"; > function = "uart7"; > }; > + > + /omit-if-no-ref/ > + lcd_lvds0_pins: lcd_lvds0_pins { underscores in the node names will create a dtc warning at compilation, you should use lcd-lvds0-pins instead. > + allwinner,pins = > + "PD0", "PD1", "PD2", "PD3", "PD4", > + "PD5", "PD6", "PD7", "PD8", "PD9"; > + allwinner,function = "lvds0"; > + allwinner,drive = ; > + allwinner,pull = ; Those properties are deprecated and should be replaced by pins and functions. allwinner,drive and allwinner,pull are at their default values and can be dropped. This will create a spurious warning message for TCON1, since we adjusted the driver to tell it supports LVDS, but there's no LVDS reset line, so we need to make it finer grained. Maybe adding a tcon0 / tcon1 compatible? Chen-Yu, any thought? Maxime