Message ID | 20241219080604.1423600-15-damon.ding@rock-chips.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add eDP support for RK3588 | expand |
On Thu, Dec 19, 2024 at 04:06:03PM +0800, Damon Ding wrote: > Add the necessary DT changes to enable eDP0 on RK3588S EVB1 board: > - Add edp-panel node > - Set pinctrl of pwm12 for backlight > - Enable edp0/hdptxphy0/vp2 > > Signed-off-by: Damon Ding <damon.ding@rock-chips.com> > > --- > > Changes in v2: > - Remove brightness-levels and default-brightness-level properties in > backlight node. > - Add the detail DT changes to commit message. > > Changes in v3: > - Use aux-bus instead of platform bus for edp-panel. > --- > .../boot/dts/rockchip/rk3588s-evb1-v10.dts | 52 +++++++++++++++++++ > 1 file changed, 52 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts > index bc4077575beb..9547ab18e596 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts > @@ -9,6 +9,7 @@ > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/input/input.h> > #include <dt-bindings/pinctrl/rockchip.h> > +#include <dt-bindings/soc/rockchip,vop2.h> > #include <dt-bindings/usb/pd.h> > #include "rk3588s.dtsi" > > @@ -238,6 +239,41 @@ &combphy2_psu { > status = "okay"; > }; > > +&edp0 { > + force-hpd; > + status = "okay"; > + > + aux-bus { > + panel { > + compatible = "lg,lp079qx1-sp0v"; Why do you need the particular compat string here? Can you use the generic "edp-panel" instead? What if the user swaps the panel? > + backlight = <&backlight>; > + power-supply = <&vcc3v3_lcd_edp>; > + > + port { > + panel_in_edp: endpoint { > + remote-endpoint = <&edp_out_panel>; > + }; > + }; > + }; > + }; > +}; > + > +&edp0_in { > + edp0_in_vp2: endpoint { > + remote-endpoint = <&vp2_out_edp0>; > + }; > +}; > + > +&edp0_out { > + edp_out_panel: endpoint { > + remote-endpoint = <&panel_in_edp>; > + }; > +}; > + > +&hdptxphy0 { > + status = "okay"; > +}; > + > &i2c3 { > status = "okay"; > > @@ -399,6 +435,7 @@ usbc0_int: usbc0-int { > }; > > &pwm12 { > + pinctrl-0 = <&pwm12m1_pins>; > status = "okay"; > }; > > @@ -1168,3 +1205,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 { > }; > }; > }; > + > +&vop_mmu { > + status = "okay"; > +}; > + > +&vop { > + status = "okay"; > +}; > + > +&vp2 { > + vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 { > + reg = <ROCKCHIP_VOP2_EP_EDP0>; > + remote-endpoint = <&edp0_in_vp2>; > + }; > +}; > -- > 2.34.1 >
Hi Dmitry, On 2024/12/20 8:20, Dmitry Baryshkov wrote: > On Thu, Dec 19, 2024 at 04:06:03PM +0800, Damon Ding wrote: >> Add the necessary DT changes to enable eDP0 on RK3588S EVB1 board: >> - Add edp-panel node >> - Set pinctrl of pwm12 for backlight >> - Enable edp0/hdptxphy0/vp2 >> >> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> >> >> --- >> >> Changes in v2: >> - Remove brightness-levels and default-brightness-level properties in >> backlight node. >> - Add the detail DT changes to commit message. >> >> Changes in v3: >> - Use aux-bus instead of platform bus for edp-panel. >> --- >> .../boot/dts/rockchip/rk3588s-evb1-v10.dts | 52 +++++++++++++++++++ >> 1 file changed, 52 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts >> index bc4077575beb..9547ab18e596 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts >> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts >> @@ -9,6 +9,7 @@ >> #include <dt-bindings/gpio/gpio.h> >> #include <dt-bindings/input/input.h> >> #include <dt-bindings/pinctrl/rockchip.h> >> +#include <dt-bindings/soc/rockchip,vop2.h> >> #include <dt-bindings/usb/pd.h> >> #include "rk3588s.dtsi" >> >> @@ -238,6 +239,41 @@ &combphy2_psu { >> status = "okay"; >> }; >> >> +&edp0 { >> + force-hpd; >> + status = "okay"; >> + >> + aux-bus { >> + panel { >> + compatible = "lg,lp079qx1-sp0v"; > > Why do you need the particular compat string here? Can you use the > generic "edp-panel" instead? What if the user swaps the panel? > The eDP panels used in conjunction with the RK3588S EVB1 have broken identification, which is one of the valid reasons for using a particular compat string. So the generic_edp_panel_probe() can not return success when using the "edp-panel". >> + backlight = <&backlight>; >> + power-supply = <&vcc3v3_lcd_edp>; >> + >> + port { >> + panel_in_edp: endpoint { >> + remote-endpoint = <&edp_out_panel>; >> + }; >> + }; >> + }; >> + }; >> +}; >> + >> +&edp0_in { >> + edp0_in_vp2: endpoint { >> + remote-endpoint = <&vp2_out_edp0>; >> + }; >> +}; >> + >> +&edp0_out { >> + edp_out_panel: endpoint { >> + remote-endpoint = <&panel_in_edp>; >> + }; >> +}; >> + >> +&hdptxphy0 { >> + status = "okay"; >> +}; >> + >> &i2c3 { >> status = "okay"; >> >> @@ -399,6 +435,7 @@ usbc0_int: usbc0-int { >> }; >> >> &pwm12 { >> + pinctrl-0 = <&pwm12m1_pins>; >> status = "okay"; >> }; >> >> @@ -1168,3 +1205,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 { >> }; >> }; >> }; >> + >> +&vop_mmu { >> + status = "okay"; >> +}; >> + >> +&vop { >> + status = "okay"; >> +}; >> + >> +&vp2 { >> + vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 { >> + reg = <ROCKCHIP_VOP2_EP_EDP0>; >> + remote-endpoint = <&edp0_in_vp2>; >> + }; >> +}; >> -- >> 2.34.1 >> > Best regards, Damon
On Fri, 20 Dec 2024 at 04:38, Damon Ding <damon.ding@rock-chips.com> wrote: > > Hi Dmitry, > > On 2024/12/20 8:20, Dmitry Baryshkov wrote: > > On Thu, Dec 19, 2024 at 04:06:03PM +0800, Damon Ding wrote: > >> Add the necessary DT changes to enable eDP0 on RK3588S EVB1 board: > >> - Add edp-panel node > >> - Set pinctrl of pwm12 for backlight > >> - Enable edp0/hdptxphy0/vp2 > >> > >> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> > >> > >> --- > >> > >> Changes in v2: > >> - Remove brightness-levels and default-brightness-level properties in > >> backlight node. > >> - Add the detail DT changes to commit message. > >> > >> Changes in v3: > >> - Use aux-bus instead of platform bus for edp-panel. > >> --- > >> .../boot/dts/rockchip/rk3588s-evb1-v10.dts | 52 +++++++++++++++++++ > >> 1 file changed, 52 insertions(+) > >> > >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts > >> index bc4077575beb..9547ab18e596 100644 > >> --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts > >> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts > >> @@ -9,6 +9,7 @@ > >> #include <dt-bindings/gpio/gpio.h> > >> #include <dt-bindings/input/input.h> > >> #include <dt-bindings/pinctrl/rockchip.h> > >> +#include <dt-bindings/soc/rockchip,vop2.h> > >> #include <dt-bindings/usb/pd.h> > >> #include "rk3588s.dtsi" > >> > >> @@ -238,6 +239,41 @@ &combphy2_psu { > >> status = "okay"; > >> }; > >> > >> +&edp0 { > >> + force-hpd; > >> + status = "okay"; > >> + > >> + aux-bus { > >> + panel { > >> + compatible = "lg,lp079qx1-sp0v"; > > > > Why do you need the particular compat string here? Can you use the > > generic "edp-panel" instead? What if the user swaps the panel? > > > > The eDP panels used in conjunction with the RK3588S EVB1 have broken > identification, which is one of the valid reasons for using a particular > compat string. So the generic_edp_panel_probe() can not return success > when using the "edp-panel". Broken how? I don't see such info in the commit message. > > >> + backlight = <&backlight>; > >> + power-supply = <&vcc3v3_lcd_edp>; > >> + > >> + port { > >> + panel_in_edp: endpoint { > >> + remote-endpoint = <&edp_out_panel>; > >> + }; > >> + }; > >> + }; > >> + }; > >> +}; > >> + > >> +&edp0_in { > >> + edp0_in_vp2: endpoint { > >> + remote-endpoint = <&vp2_out_edp0>; > >> + }; > >> +}; > >> + > >> +&edp0_out { > >> + edp_out_panel: endpoint { > >> + remote-endpoint = <&panel_in_edp>; > >> + }; > >> +}; > >> + > >> +&hdptxphy0 { > >> + status = "okay"; > >> +}; > >> + > >> &i2c3 { > >> status = "okay"; > >> > >> @@ -399,6 +435,7 @@ usbc0_int: usbc0-int { > >> }; > >> > >> &pwm12 { > >> + pinctrl-0 = <&pwm12m1_pins>; > >> status = "okay"; > >> }; > >> > >> @@ -1168,3 +1205,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 { > >> }; > >> }; > >> }; > >> + > >> +&vop_mmu { > >> + status = "okay"; > >> +}; > >> + > >> +&vop { > >> + status = "okay"; > >> +}; > >> + > >> +&vp2 { > >> + vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 { > >> + reg = <ROCKCHIP_VOP2_EP_EDP0>; > >> + remote-endpoint = <&edp0_in_vp2>; > >> + }; > >> +}; > >> -- > >> 2.34.1 > >> > > > Best regards, > Damon
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts index bc4077575beb..9547ab18e596 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts @@ -9,6 +9,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> #include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/soc/rockchip,vop2.h> #include <dt-bindings/usb/pd.h> #include "rk3588s.dtsi" @@ -238,6 +239,41 @@ &combphy2_psu { status = "okay"; }; +&edp0 { + force-hpd; + status = "okay"; + + aux-bus { + panel { + compatible = "lg,lp079qx1-sp0v"; + backlight = <&backlight>; + power-supply = <&vcc3v3_lcd_edp>; + + port { + panel_in_edp: endpoint { + remote-endpoint = <&edp_out_panel>; + }; + }; + }; + }; +}; + +&edp0_in { + edp0_in_vp2: endpoint { + remote-endpoint = <&vp2_out_edp0>; + }; +}; + +&edp0_out { + edp_out_panel: endpoint { + remote-endpoint = <&panel_in_edp>; + }; +}; + +&hdptxphy0 { + status = "okay"; +}; + &i2c3 { status = "okay"; @@ -399,6 +435,7 @@ usbc0_int: usbc0-int { }; &pwm12 { + pinctrl-0 = <&pwm12m1_pins>; status = "okay"; }; @@ -1168,3 +1205,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 { }; }; }; + +&vop_mmu { + status = "okay"; +}; + +&vop { + status = "okay"; +}; + +&vp2 { + vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 { + reg = <ROCKCHIP_VOP2_EP_EDP0>; + remote-endpoint = <&edp0_in_vp2>; + }; +};
Add the necessary DT changes to enable eDP0 on RK3588S EVB1 board: - Add edp-panel node - Set pinctrl of pwm12 for backlight - Enable edp0/hdptxphy0/vp2 Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v2: - Remove brightness-levels and default-brightness-level properties in backlight node. - Add the detail DT changes to commit message. Changes in v3: - Use aux-bus instead of platform bus for edp-panel. --- .../boot/dts/rockchip/rk3588s-evb1-v10.dts | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+)