Message ID | 20190315130825.9005-7-jagan@amarulasolutions.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
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 <jagan@amarulasolutions.com> > --- > .../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 <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/pwm/pwm.h> > > / { > 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
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 <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pwm/pwm.h> / { 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"; + 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>; + }; + }; + }; +}; + &ehci0 { status = "okay"; }; @@ -208,6 +265,12 @@ status = "okay"; }; +&r_pwm { + pinctrl-names = "default"; + pinctrl-0 = <&r_pwm_pin>; + status = "okay"; +}; + &r_rsb { status = "okay";
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 <jagan@amarulasolutions.com> --- .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+)