[PATCH 2/4] arm64: dts: qcom: sm6115p-j606f: Hook up display

From: Konrad Dybcio
Date: Tue Jun 20 2023 - 09:19:09 EST


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 {
+ pins = "gpio82";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ };
};

&ufs_mem_hc {

--
2.41.0