On Fri, Mar 15, 2019 at 06:38:25PM +0530, Jagan Teki wrote: > This patch add support for Bananapi S070WV20-CT16 DSI panel to > BPI-M64 board. > > Bananapi S070WV20-CT16 is a pure RGB output panel with ICN6211 DSI/RGB > convertor bridge, so enable bridge along with associated panel. > > DSI panel connected via board DSI port with, > - DLDO1 as VCC-DSI supply > - PD6 gpio for reset pin > - PD5 gpio for backlight enable pin > - PD7 gpio for backlight vdd supply > > Signed-off-by: Jagan Teki > --- > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 63 +++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts > index 7793ebb5d2b8..f31083aa4521 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts > @@ -45,6 +45,7 @@ > #include "sun50i-a64.dtsi" > > #include > +#include > > / { > model = "BananaPi-M64"; > @@ -56,6 +57,15 @@ > serial1 = &uart1; > }; > > + backlight: backlight { > + compatible = "pwm-backlight"; > + pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; > + brightness-levels = <1 2 4 8 16 32 64 128 512>; > + default-brightness-level = <2>; > + enable-gpios = <&pio 3 5 GPIO_ACTIVE_HIGH>; /* LCD-BL-EN: PD5 */ > + power-supply = <®_vdd_backlight>; > + }; > + > chosen { > stdout-path = "serial0:115200n8"; > }; > @@ -91,6 +101,26 @@ > }; > }; > > + panel-connector { > + compatible = "bananapi,s070wv20-ct16", "simple-panel"; > + > + port { > + backlight = <&backlight>; > + panel_ep: endpoint { > + remote-endpoint = <&bridge_out_ep>; > + }; > + }; > + }; > + > + reg_vdd_backlight: vdd-backlight { > + compatible = "regulator-fixed"; > + regulator-name = "vdd-backlight"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; /* LCD-PWR-EN: PD7 */ > + enable-active-high; > + }; > + > wifi_pwrseq: wifi_pwrseq { > compatible = "mmc-pwrseq-simple"; > reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ > @@ -116,6 +146,33 @@ > status = "okay"; > }; > > +&dphy { > + status = "okay"; > +}; > + > +&dsi { > + vcc-dsi-supply = <®_dldo1>; /* VCC3V3-DSI */ > + status = "okay"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + bridge@0 { > + compatible = "bananapi,icn6211", "chipone, icn6211"; There's a typo in the compatible > + reg = <0>; > + reset-gpios = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* LCD-RST: PD6 */ > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + reg = <1>; > + > + bridge_out_ep: endpoint { > + remote-endpoint = <&panel_ep>; > + }; > + }; The port here should be under a node called ports, with two ports, which is what you documented in your binding. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com