Patchwork [v5] arm64: dts: sdm845: Add display nodes to MTP dts

login
register
mail settings
Submitter abhinavk@codeaurora.org
Date Dec. 6, 2018, 3:35 a.m.
Message ID <1544067310-7306-1-git-send-email-abhinavk@codeaurora.org>
Download mbox | patch
Permalink /patch/673755/
State New
Headers show

Comments

abhinavk@codeaurora.org - Dec. 6, 2018, 3:35 a.m.
Add the display nodes containing information about the panel,
DSI configuration and board specific pin configuration to the
SDM845 MTP device tree file.

This patch depends on the following:

https://patchwork.freedesktop.org/series/51909/

Changes in v4:
	- patch introduced in the series
	- move around added nodes to preserve alphabetical order (Doug Anderson)

Changes in v5:
	- include board specific pin configuration (Doug Anderson)
	- remove display timing from the panel node

Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 118 ++++++++++++++++++++++++++++++++
 1 file changed, 118 insertions(+)
Doug Anderson - Dec. 7, 2018, 8:59 p.m.
Hi,

On Wed, Dec 5, 2018 at 7:35 PM Abhinav Kumar <abhinavk@codeaurora.org> wrote:
> +&dsi0 {
> +       status = "okay";
> +       qcom,dual-dsi-mode;
> +       qcom,master-dsi;
> +       qcom,sync-dual-dsi;
> +
> +       vdda-supply = <&vdda_mipi_dsi0_1p2>;
> +
> +       panel@0 {
> +               compatible = "truly,nt35597-2K-display";
> +               reg = <0>;
> +
> +               vdda-supply = <&vreg_l14a_1p88>;
> +               vdispp-supply = <&lab_regulator>;
> +               vdispn-supply = <&ibb_regulator>;

Can you please point to the patch posted upstream that provides the
nodes for lab_regulator and ibb_regulator?  I searched and I couldn't
find it, but I certainly could have missed it...  There was an
INTERNAL patch in some downstream trees providing these but nothing
upstream.  This can't land upstream until such a patch is posted and
works...


> +&dsi1_phy {
> +       status = "okay";
> +       vdds-supply = <&vdda_mipi_dsi1_pll>;
> +};
> +

Right now this causes a merge conflict when I pick it in my tree but
that's because I have the &gcc node for protected-clocks (see
linux-next).  Depending on Andy you might need to repost atop that
one.


> +
> + /* PINCTRL - board-specific pinctrl */
> +
> +&tlmm {
> +       disp_mode_sel: disp-mode-sel {

I also get a merge conflict here, but that's because I have Evan's
SDHCI patches in my tree which also adds the tlmm node (actually, it
moves it to the right place).  If Andy can land the SDHCI device tree
then you could base off of his patches and avoid the merge conflict.


Overall: for the merge conflicts I don't think it's a big deal--Andy
can probably resolve them.  ...but you definitely need to explain
where "lab_regulator" and "ibb_regulator" come from and this can't
land until those nodes are provided.

-Doug
abhinavk@codeaurora.org - Dec. 7, 2018, 9:23 p.m.
On 2018-12-07 12:59, Doug Anderson wrote:
> Hi,
> 
> On Wed, Dec 5, 2018 at 7:35 PM Abhinav Kumar <abhinavk@codeaurora.org> 
> wrote:
>> +&dsi0 {
>> +       status = "okay";
>> +       qcom,dual-dsi-mode;
>> +       qcom,master-dsi;
>> +       qcom,sync-dual-dsi;
>> +
>> +       vdda-supply = <&vdda_mipi_dsi0_1p2>;
>> +
>> +       panel@0 {
>> +               compatible = "truly,nt35597-2K-display";
>> +               reg = <0>;
>> +
>> +               vdda-supply = <&vreg_l14a_1p88>;
>> +               vdispp-supply = <&lab_regulator>;
>> +               vdispn-supply = <&ibb_regulator>;
> 
> Can you please point to the patch posted upstream that provides the
> nodes for lab_regulator and ibb_regulator?  I searched and I couldn't
> find it, but I certainly could have missed it...  There was an
> INTERNAL patch in some downstream trees providing these but nothing
> upstream.  This can't land upstream until such a patch is posted and
> works...
> 
> 
>> +&dsi1_phy {
>> +       status = "okay";
>> +       vdds-supply = <&vdda_mipi_dsi1_pll>;
>> +};
>> +
> 
> Right now this causes a merge conflict when I pick it in my tree but
> that's because I have the &gcc node for protected-clocks (see
> linux-next).  Depending on Andy you might need to repost atop that
> one.
> 
> 
>> +
>> + /* PINCTRL - board-specific pinctrl */
>> +
>> +&tlmm {
>> +       disp_mode_sel: disp-mode-sel {
> 
> I also get a merge conflict here, but that's because I have Evan's
> SDHCI patches in my tree which also adds the tlmm node (actually, it
> moves it to the right place).  If Andy can land the SDHCI device tree
> then you could base off of his patches and avoid the merge conflict.
> 
> 
> Overall: for the merge conflicts I don't think it's a big deal--Andy
> can probably resolve them.  ...but you definitely need to explain
> where "lab_regulator" and "ibb_regulator" come from and this can't
> land until those nodes are provided.
> 
> -Doug
Hi Doug,

We posted this patch on top of Andy's tree which we had and this could 
have changed.

We will wait for his response if we need to repost it after rebasing.

Regarding lab/ibb, that change needs to come from our PMIC team.

I will check about that and get back.

Thanks

Abhinav
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Doug Anderson - Dec. 7, 2018, 9:37 p.m.
Hi,

On Fri, Dec 7, 2018 at 1:23 PM Abhinav Kumar <abhinavk@codeaurora.org> wrote:
> We posted this patch on top of Andy's tree which we had and this could
> have changed.
>
> We will wait for his response if we need to repost it after rebasing.

Yup, you did it all correctly here.  I was more mentioning that there
are a bunch of in-flight changes touching things close-by.  ;-)


> Regarding lab/ibb, that change needs to come from our PMIC team.
>
> I will check about that and get back.

OK, thanks.  ...the patch definitely can't land till then, though.

-Doug

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
index d667eee..ee63783 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
@@ -7,6 +7,7 @@ 
 
 /dts-v1/;
 
+#include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sdm845.dtsi"
 
@@ -343,11 +344,98 @@ 
 	};
 };
 
+&dsi0 {
+	status = "okay";
+	qcom,dual-dsi-mode;
+	qcom,master-dsi;
+	qcom,sync-dual-dsi;
+
+	vdda-supply = <&vdda_mipi_dsi0_1p2>;
+
+	panel@0 {
+		compatible = "truly,nt35597-2K-display";
+		reg = <0>;
+
+		vdda-supply = <&vreg_l14a_1p88>;
+		vdispp-supply = <&lab_regulator>;
+		vdispn-supply = <&ibb_regulator>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&disp_mode_sel &lcd_reset_n>;
+
+		mode-gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
+		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			port@0 {
+				reg = <0>;
+				panel0_in: endpoint {
+					remote-endpoint = <&dsi0_out>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+				panel1_in: endpoint {
+					remote-endpoint = <&dsi1_out>;
+				};
+			};
+		};
+	};
+
+	ports {
+		port@1 {
+			endpoint {
+				remote-endpoint = <&panel0_in>;
+				data-lanes = <0 1 2 3>;
+			};
+		};
+	};
+};
+
+&dsi0_phy {
+	status = "okay";
+	vdds-supply = <&vdda_mipi_dsi0_pll>;
+};
+
+&dsi1 {
+	status = "okay";
+
+	qcom,dual-dsi-mode;
+	qcom,sync-dual-dsi;
+
+	vdda-supply = <&vdda_mipi_dsi1_1p2>;
+
+	ports {
+		port@1 {
+			endpoint {
+				remote-endpoint = <&panel1_in>;
+				data-lanes = <0 1 2 3>;
+			};
+		};
+	};
+};
+
+&dsi1_phy {
+	status = "okay";
+	vdds-supply = <&vdda_mipi_dsi1_pll>;
+};
+
 &i2c10 {
 	status = "okay";
 	clock-frequency = <400000>;
 };
 
+&mdss {
+	status = "okay";
+};
+
+&mdss_mdp {
+	status = "okay";
+};
+
 &qupv3_id_1 {
 	status = "okay";
 };
@@ -444,3 +532,33 @@ 
 		bias-pull-up;
 	};
 };
+
+ /* PINCTRL - board-specific pinctrl */
+
+&tlmm {
+	disp_mode_sel: disp-mode-sel {
+		pinmux {
+			function = "gpio";
+			pins = "gpio52";
+		};
+
+		pinconf {
+			pins = "gpio52";
+			drive-strength = <8>;
+			bias-disable;
+		};
+	};
+
+	lcd_reset_n: lcd-reset-n {
+		pinmux {
+			function = "gpio";
+			pins = "gpio6";
+		};
+
+		pinconf {
+			pins = "gpio6";
+			drive-strength = <8>;
+			bias-disable;
+		};
+	};
+};