[PATCH v3 14/15] arm64: dts: rockchip: Enable eDP0 display on RK3588S EVB1 board
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Thu Dec 26 12:26:51 PST 2024
On Wed, 25 Dec 2024 at 11:34, Damon Ding <damon.ding at rock-chips.com> wrote:
>
> Hi Dmitry,
>
> On 2024/12/20 13:38, Dmitry Baryshkov wrote:
> > On Fri, 20 Dec 2024 at 04:38, Damon Ding <damon.ding at 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 at 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.
> >
>
> The log related to the broken identification may be like:
>
> [ 0.623793] panel-simple-dp-aux aux-fdec0000.edp: Unknown panel ETC
> 0x0000, using conservative timings
According to [1] the ETC / 0x0000 is a correct identification for that
panel. I'd suggest adding the timings to the driver instead.
[1] https://www.elecok.com/data_sheet/107657/LP079QX1-SP0V_7.9%22_a-Si_TFT-LCD%2CPanel_for_LG_Display(EN).pdf?download=true
>
> The eDP panel used in RK3588S EVB1 is indeed the LP079QX1_SP0V model, it
> should be also reasonable to use the "lg,lp079qx1-sp0v".
>
> And I will mention all of the above in the commit message for the next
> version.
>
> >>
> >>>> + 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 at 1 {
> >>>> };
> >>>> };
> >>>> };
> >>>> +
> >>>> +&vop_mmu {
> >>>> + status = "okay";
> >>>> +};
> >>>> +
> >>>> +&vop {
> >>>> + status = "okay";
> >>>> +};
> >>>> +
> >>>> +&vp2 {
> >>>> + vp2_out_edp0: endpoint at ROCKCHIP_VOP2_EP_EDP0 {
> >>>> + reg = <ROCKCHIP_VOP2_EP_EDP0>;
> >>>> + remote-endpoint = <&edp0_in_vp2>;
> >>>> + };
> >>>> +};
> >>>> --
> >>>> 2.34.1
> >>>>
>
> Best regards
> Damon
>
--
With best wishes
Dmitry
More information about the Linux-rockchip
mailing list