On 20.06.2023 17:52, Dmitry Baryshkov wrote: > On 20/06/2023 16:17, Konrad Dybcio wrote: >> Enable the required nodes, add the required pins and tweak a >> regulator to enable non-simplefb display on the Tab P11. >> >> Do note that there exists a second SKU with a different panel+touch >> combo, but due to insufficient information, that will need to be >> handled separately. >> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> >> --- >> arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 57 +++++++++++++++++++++-- >> 1 file changed, 52 insertions(+), 5 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts >> index 81fdcaf48926..a10ce676bd44 100644 >> --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts >> +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts >> @@ -65,9 +65,41 @@ ramoops@ffc00000 { >> }; >> }; >> -&dispcc { >> - /* HACK: disable until a panel driver is ready to retain simplefb */ >> - status = "disabled"; >> +&mdss { >> + status = "okay"; >> +}; >> + >> +&mdss_dsi0 { >> + vdda-supply = <&pm6125_l18>; >> + status = "okay"; >> + >> + panel: panel@0 { >> + compatible = "lenovo,j606f-boe-nt36523w", "novatek,nt36523w"; >> + reg = <0>; >> + >> + reset-gpios = <&tlmm 82 GPIO_ACTIVE_LOW>; >> + vddio-supply = <&pm6125_l9>; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&te_active &sde_dsi_active>; >> + >> + rotation = <180>; /* Yep, it's mounted upside down! */ >> + >> + port { >> + panel_in: endpoint { >> + remote-endpoint = <&mdss_dsi0_out>; >> + }; >> + }; >> + }; >> +}; >> + >> +&mdss_dsi0_out { >> + data-lanes = <0 1 2 3>; >> + remote-endpoint = <&panel_in>; >> +}; >> + >> +&mdss_dsi0_phy { >> + status = "okay"; >> }; >> &pm6125_gpios { >> @@ -212,8 +244,9 @@ pm6125_l17: l17 { >> }; >> pm6125_l18: l18 { >> - regulator-min-microvolt = <1104000>; >> - regulator-max-microvolt = <1312000>; >> + /* 1.104V-1.312V fixed @ 1.232V for DSIPHY */ >> + regulator-min-microvolt = <1232000>; >> + regulator-max-microvolt = <1232000>; >> }; >> pm6125_l19: l19 { >> @@ -282,6 +315,20 @@ sdc2_gate_pin: sdc2-gate-state { >> bias-pull-up; >> output-high; >> }; >> + >> + te_active: te-active-state { >> + pins = "gpio81"; >> + function = "mdp_vsync"; >> + drive-strength = <2>; >> + bias-pull-down; >> + }; >> + >> + sde_dsi_active: te-active-state { > > mdss_dsi_active? Or just dsi_active? mdss is ok Also Marijn pointed out in private that this node overwrites the previous one.. Thankfully video mode panels don't care about TE! :D Konrad > >> + pins = "gpio82"; >> + function = "gpio"; >> + drive-strength = <8>; >> + bias-disable; >> + }; >> }; >> &ufs_mem_hc { >> >