On Thu, Mar 19, 2020 at 10:51:36PM +0800, Icenowy Zheng wrote: > 在 2020-03-16星期一的 21:35 +0800,Icenowy Zheng写道: > > PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for > > display. > > > > Add its device nodes. > > > > Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx> > > --- > > No changes in v2. > > > > .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 > > +++++++++++++++++++ > > 1 file changed, 37 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi > > b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi > > index cefda145c3c9..96d9150423e0 100644 > > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi > > @@ -16,6 +16,15 @@ aliases { > > serial0 = &uart0; > > }; > > > > + backlight: backlight { > > + compatible = "pwm-backlight"; > > + pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; > > + brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 > > 46 51 56 62 68 75 83 91 100>; > > Should I drop the 0 here and replace it with 14? Almost all boards in arm/boot/dts start at 0. > I have heard community complaining about setting 0 to brightness make > the screen black. Level 0 (first value in the list) is special, and turns off the backlight: 123 if (brightness > 0) { 124 pwm_get_state(pb->pwm, &state); 125 state.duty_cycle = compute_duty_cycle(pb, brightness); 126 pwm_apply_state(pb->pwm, &state); 127 pwm_backlight_power_on(pb); 128 } else { 129 pwm_backlight_power_off(pb); 130 } o. > (I think in this situation bl_power or blank the DSI panel can still > totally shut down the backlight). > > > + default-brightness-level = <15>; > > + enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ > > + power-supply = <®_ldo_io0>; > > + }; > > + > > chosen { > > stdout-path = "serial0:115200n8"; > > }; > > @@ -84,6 +93,30 @@ &dai { > > status = "okay"; > > }; > > > > +&de { > > + status = "okay"; > > +}; > > + > > +&dphy { > > + status = "okay"; > > +}; > > + > > +&dsi { > > + vcc-dsi-supply = <®_dldo1>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + status = "okay"; > > + > > + panel@0 { > > + compatible = "xingbangda,xbd599"; > > + reg = <0>; > > + reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ > > + iovcc-supply = <®_dldo2>; > > + vcc-supply = <®_ldo_io0>; > > + backlight = <&backlight>; > > + }; > > +}; > > + > > &ehci0 { > > status = "okay"; > > }; > > @@ -188,6 +221,10 @@ &r_pio { > > */ > > }; > > > > +&r_pwm { > > + status = "okay"; > > +}; > > + > > &r_rsb { > > status = "okay"; > > > > -- > > 2.24.1 > > >