[PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU

Cristian Cozzolino via B4 Relay posted 6 patches 1 month ago
There is a newer version of this series
[PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by Cristian Cozzolino via B4 Relay 1 month ago
From: Cristian Cozzolino <cristian_ci@protonmail.com>

Add the description for the display panel found on this phone.
And with this done we can also enable the GPU and set the zap shader
firmware path.

Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
---
 .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts b/arch/arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts
index ef4faf763132..a00cf83dba93 100644
--- a/arch/arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts
+++ b/arch/arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts
@@ -78,6 +78,13 @@ vph_pwr: vph-pwr-regulator {
 	};
 };
 
+&gpu {
+	status = "okay";
+};
+
+&gpu_zap_shader {
+	firmware-name = "qcom/msm8953/flipkart/rimob/a506_zap.mdt";
+};
 
 &hsusb_phy {
 	vdd-supply = <&pm8953_l3>;
@@ -87,11 +94,69 @@ &hsusb_phy {
 	status = "okay";
 };
 
+&ibb {
+	qcom,discharge-resistor-kohms = <32>;
+};
+
+&lab {
+	qcom,soft-start-us = <800>;
+};
+
+&mdss {
+	status = "okay";
+};
+
+&mdss_dsi0 {
+	vdda-supply = <&pm8953_s3>;
+	vddio-supply = <&pm8953_l6>;
+
+	pinctrl-0 = <&mdss_default>;
+	pinctrl-1 = <&mdss_sleep>;
+	pinctrl-names = "default", "sleep";
+
+	status = "okay";
+
+	panel: panel@0 {
+		compatible = "novatek,nt35532";
+		reg = <0>;
+
+		backlight = <&pmi8950_wled>;
+		reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
+		vsp-supply = <&lab>;
+		vsn-supply = <&ibb>;
+
+		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 {
+	vcca-supply = <&pm8953_l3>;
+
+	status = "okay";
+};
+
 &pm8953_resin {
 	linux,code = <KEY_VOLUMEDOWN>;
 	status = "okay";
 };
 
+&pmi8950_wled {
+	qcom,current-limit-microamp = <10000>;
+	qcom,num-strings = <3>;
+	qcom,ovp-millivolt = <29500>;
+
+	status = "okay";
+};
+
 &rpm_requests {
 	regulators {
 		compatible = "qcom,rpm-pm8953-regulators";
@@ -244,6 +309,21 @@ gpio_key_default: gpio-key-default-state {
 		drive-strength = <2>;
 		bias-pull-up;
 	};
+
+	mdss_default: mdss-default-state {
+		pins = "gpio61";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-disable;
+		output-high;
+	};
+
+	mdss_sleep: mdss-sleep-state {
+		pins = "gpio61";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-down;
+	};
 };
 
 &usb3 {

-- 
2.52.0
Re: [PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by Dmitry Baryshkov 1 month ago
On Sun, Mar 08, 2026 at 04:52:43PM +0100, Cristian Cozzolino via B4 Relay wrote:
> From: Cristian Cozzolino <cristian_ci@protonmail.com>
> 
> Add the description for the display panel found on this phone.
> And with this done we can also enable the GPU and set the zap shader
> firmware path.
> 
> Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
> ---
>  .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
>  1 file changed, 80 insertions(+)
> 
> +
> +&mdss_dsi0 {
> +	vdda-supply = <&pm8953_s3>;
> +	vddio-supply = <&pm8953_l6>;
> +
> +	pinctrl-0 = <&mdss_default>;
> +	pinctrl-1 = <&mdss_sleep>;
> +	pinctrl-names = "default", "sleep";

It might be better to move pinctrl nodes to the panel device, because
they control the panel reset pin (rather than some kind if DSI-related
pin).

Other than that LGTM.

> +
> +	status = "okay";
> +
> +	panel: panel@0 {
> +		compatible = "novatek,nt35532";
> +		reg = <0>;
> +
> +		backlight = <&pmi8950_wled>;
> +		reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
> +		vsp-supply = <&lab>;
> +		vsn-supply = <&ibb>;
> +
> +		port {
> +			panel_in: endpoint {
> +				remote-endpoint = <&mdss_dsi0_out>;
> +			};
> +		};
> +	};
> +};
> +

-- 
With best wishes
Dmitry
Re: [PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by Konrad Dybcio 1 month ago
On 3/8/26 4:01 PM, Dmitry Baryshkov wrote:
> On Sun, Mar 08, 2026 at 04:52:43PM +0100, Cristian Cozzolino via B4 Relay wrote:
>> From: Cristian Cozzolino <cristian_ci@protonmail.com>
>>
>> Add the description for the display panel found on this phone.
>> And with this done we can also enable the GPU and set the zap shader
>> firmware path.
>>
>> Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
>> ---
>>  .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
>>  1 file changed, 80 insertions(+)
>>
>> +
>> +&mdss_dsi0 {
>> +	vdda-supply = <&pm8953_s3>;
>> +	vddio-supply = <&pm8953_l6>;
>> +
>> +	pinctrl-0 = <&mdss_default>;
>> +	pinctrl-1 = <&mdss_sleep>;
>> +	pinctrl-names = "default", "sleep";
> 
> It might be better to move pinctrl nodes to the panel device, because
> they control the panel reset pin (rather than some kind if DSI-related
> pin).

+1, perhaps let's rename that pin to panel_reset while at it

Konrad
Re: [PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by cristian_ci 4 weeks, 1 day ago
On Tuesday, March 10th, 2026 at 12:28, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> wrote:

> On 3/8/26 4:01 PM, Dmitry Baryshkov wrote:
> > On Sun, Mar 08, 2026 at 04:52:43PM +0100, Cristian Cozzolino via B4 Relay wrote:
> >> From: Cristian Cozzolino <cristian_ci@protonmail.com>
> >>
> >> Add the description for the display panel found on this phone.
> >> And with this done we can also enable the GPU and set the zap shader
> >> firmware path.
> >>
> >> Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
> >> ---
> >>  .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
> >>  1 file changed, 80 insertions(+)
> >>
> >> +
> >> +&mdss_dsi0 {
> >> +	vdda-supply = <&pm8953_s3>;
> >> +	vddio-supply = <&pm8953_l6>;
> >> +
> >> +	pinctrl-0 = <&mdss_default>;
> >> +	pinctrl-1 = <&mdss_sleep>;
> >> +	pinctrl-names = "default", "sleep";
> >
> > It might be better to move pinctrl nodes to the panel device, because
> > they control the panel reset pin (rather than some kind if DSI-related
> > pin).
> 
> +1, perhaps let's rename that pin to panel_reset while at it

So, something like (plus related renaming in tlmm node):

	panel: panel@0 {
		compatible = "novatek,nt35532";
		reg = <0>;

		backlight = <&pmi8950_wled>;
		reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
		vsp-supply = <&lab>;
		vsn-supply = <&ibb>;

		pinctrl-0 = <&panel_default>;
		pinctrl-1 = <&panel_reset>;
		pinctrl-names = "default", "reset";

		port {
			panel_in: endpoint {
				remote-endpoint = <&mdss_dsi0_out>;
			};
		};
	};
 
this?

> Konrad
> 

Regards
Re: [PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by Dmitry Baryshkov 4 weeks, 1 day ago
On Tue, Mar 10, 2026 at 04:42:43PM +0000, cristian_ci wrote:
> On Tuesday, March 10th, 2026 at 12:28, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> wrote:
> 
> > On 3/8/26 4:01 PM, Dmitry Baryshkov wrote:
> > > On Sun, Mar 08, 2026 at 04:52:43PM +0100, Cristian Cozzolino via B4 Relay wrote:
> > >> From: Cristian Cozzolino <cristian_ci@protonmail.com>
> > >>
> > >> Add the description for the display panel found on this phone.
> > >> And with this done we can also enable the GPU and set the zap shader
> > >> firmware path.
> > >>
> > >> Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
> > >> ---
> > >>  .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
> > >>  1 file changed, 80 insertions(+)
> > >>
> > >> +
> > >> +&mdss_dsi0 {
> > >> +	vdda-supply = <&pm8953_s3>;
> > >> +	vddio-supply = <&pm8953_l6>;
> > >> +
> > >> +	pinctrl-0 = <&mdss_default>;
> > >> +	pinctrl-1 = <&mdss_sleep>;
> > >> +	pinctrl-names = "default", "sleep";
> > >
> > > It might be better to move pinctrl nodes to the panel device, because
> > > they control the panel reset pin (rather than some kind if DSI-related
> > > pin).
> > 
> > +1, perhaps let's rename that pin to panel_reset while at it
> 
> So, something like (plus related renaming in tlmm node):
> 
> 	panel: panel@0 {
> 		compatible = "novatek,nt35532";
> 		reg = <0>;
> 
> 		backlight = <&pmi8950_wled>;
> 		reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
> 		vsp-supply = <&lab>;
> 		vsn-supply = <&ibb>;
> 
> 		pinctrl-0 = <&panel_default>;
> 		pinctrl-1 = <&panel_reset>;
> 		pinctrl-names = "default", "reset";

No, "reset" would not be recognized. Use "sleep" as before.

> 
> 		port {
> 			panel_in: endpoint {
> 				remote-endpoint = <&mdss_dsi0_out>;
> 			};
> 		};
> 	};
>  
> this?
> 
> > Konrad
> > 
> 
> Regards

-- 
With best wishes
Dmitry
Re: [PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by cristian_ci 4 weeks ago
On Tuesday, March 10th, 2026 at 23:30, Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> wrote:

> On Tue, Mar 10, 2026 at 04:42:43PM +0000, cristian_ci wrote:
> > On Tuesday, March 10th, 2026 at 12:28, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> wrote:
> >
> > > On 3/8/26 4:01 PM, Dmitry Baryshkov wrote:
> > > > On Sun, Mar 08, 2026 at 04:52:43PM +0100, Cristian Cozzolino via B4 Relay wrote:
> > > >> From: Cristian Cozzolino <cristian_ci@protonmail.com>
> > > >>
> > > >> Add the description for the display panel found on this phone.
> > > >> And with this done we can also enable the GPU and set the zap shader
> > > >> firmware path.
> > > >>
> > > >> Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
> > > >> ---
> > > >>  .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
> > > >>  1 file changed, 80 insertions(+)
> > > >>
> > > >> +
> > > >> +&mdss_dsi0 {
> > > >> +	vdda-supply = <&pm8953_s3>;
> > > >> +	vddio-supply = <&pm8953_l6>;
> > > >> +
> > > >> +	pinctrl-0 = <&mdss_default>;
> > > >> +	pinctrl-1 = <&mdss_sleep>;
> > > >> +	pinctrl-names = "default", "sleep";
> > > >
> > > > It might be better to move pinctrl nodes to the panel device, because
> > > > they control the panel reset pin (rather than some kind if DSI-related
> > > > pin).
> > >
> > > +1, perhaps let's rename that pin to panel_reset while at it
> >
> > So, something like (plus related renaming in tlmm node):
> >
> > 	panel: panel@0 {
> > 		compatible = "novatek,nt35532";
> > 		reg = <0>;
> >
> > 		backlight = <&pmi8950_wled>;
> > 		reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
> > 		vsp-supply = <&lab>;
> > 		vsn-supply = <&ibb>;
> >
> > 		pinctrl-0 = <&panel_default>;
> > 		pinctrl-1 = <&panel_reset>;
> > 		pinctrl-names = "default", "reset";
> 
> No, "reset" would not be recognized. Use "sleep" as before.

so, something like:

 		pinctrl-1 = <&panel_sleep>;
 		pinctrl-names = "default", "sleep";

?

Also, should I remove 'sleep' state if panel handles only one state ('default')
instead of two states (like mdss)?

> >
> > 		port {
> > 			panel_in: endpoint {
> > 				remote-endpoint = <&mdss_dsi0_out>;
> > 			};
> > 		};
> > 	};
> >
> > this?
> >
> > > Konrad
> > >
> >
> > Regards
> 
> --
> With best wishes
> Dmitry
>
Re: [PATCH 3/6] arm64: dts: qcom: msm8953-flipkart-rimob: Enable display and GPU
Posted by Dmitry Baryshkov 3 weeks, 6 days ago
On Thu, Mar 12, 2026 at 07:58:04AM +0000, cristian_ci wrote:
> 
> On Tuesday, March 10th, 2026 at 23:30, Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> wrote:
> 
> > On Tue, Mar 10, 2026 at 04:42:43PM +0000, cristian_ci wrote:
> > > On Tuesday, March 10th, 2026 at 12:28, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> wrote:
> > >
> > > > On 3/8/26 4:01 PM, Dmitry Baryshkov wrote:
> > > > > On Sun, Mar 08, 2026 at 04:52:43PM +0100, Cristian Cozzolino via B4 Relay wrote:
> > > > >> From: Cristian Cozzolino <cristian_ci@protonmail.com>
> > > > >>
> > > > >> Add the description for the display panel found on this phone.
> > > > >> And with this done we can also enable the GPU and set the zap shader
> > > > >> firmware path.
> > > > >>
> > > > >> Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com>
> > > > >> ---
> > > > >>  .../arm64/boot/dts/qcom/msm8953-flipkart-rimob.dts | 80 ++++++++++++++++++++++
> > > > >>  1 file changed, 80 insertions(+)
> > > > >>
> > > > >> +
> > > > >> +&mdss_dsi0 {
> > > > >> +	vdda-supply = <&pm8953_s3>;
> > > > >> +	vddio-supply = <&pm8953_l6>;
> > > > >> +
> > > > >> +	pinctrl-0 = <&mdss_default>;
> > > > >> +	pinctrl-1 = <&mdss_sleep>;
> > > > >> +	pinctrl-names = "default", "sleep";
> > > > >
> > > > > It might be better to move pinctrl nodes to the panel device, because
> > > > > they control the panel reset pin (rather than some kind if DSI-related
> > > > > pin).
> > > >
> > > > +1, perhaps let's rename that pin to panel_reset while at it
> > >
> > > So, something like (plus related renaming in tlmm node):
> > >
> > > 	panel: panel@0 {
> > > 		compatible = "novatek,nt35532";
> > > 		reg = <0>;
> > >
> > > 		backlight = <&pmi8950_wled>;
> > > 		reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
> > > 		vsp-supply = <&lab>;
> > > 		vsn-supply = <&ibb>;
> > >
> > > 		pinctrl-0 = <&panel_default>;
> > > 		pinctrl-1 = <&panel_reset>;
> > > 		pinctrl-names = "default", "reset";
> > 
> > No, "reset" would not be recognized. Use "sleep" as before.
> 
> so, something like:
> 
>  		pinctrl-1 = <&panel_sleep>;
>  		pinctrl-names = "default", "sleep";
> 
> ?
> 
> Also, should I remove 'sleep' state if panel handles only one state ('default')
> instead of two states (like mdss)?

Yes, DSI panels don't have (and don't use) a separate sleep pinctrl
state.

> 
> > >
> > > 		port {
> > > 			panel_in: endpoint {
> > > 				remote-endpoint = <&mdss_dsi0_out>;
> > > 			};
> > > 		};
> > > 	};
> > >
> > > this?
> > >
> > > > Konrad
> > > >
> > >
> > > Regards
> > 
> > --
> > With best wishes
> > Dmitry
> >

-- 
With best wishes
Dmitry