Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH 0/2] Enable panel and GPU on Fairphone 5
@ 2025-02-02 22:45 Luca Weiss
  2025-02-02 22:45 ` [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display Luca Weiss
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Luca Weiss @ 2025-02-02 22:45 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Marijn Suijten
  Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
	linux-kernel, Luca Weiss, Konrad Dybcio

Now since upstream DPU driver can use 1:1:1 DSC topology, we can finally
enable the panel and GPU on Fairphone 5.

Depends on https://lore.kernel.org/linux-arm-msm/20250122-dpu-111-topology-v2-1-505e95964af9@somainline.org/

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Konrad Dybcio (1):
      arm64: dts: qcom: qcm6490-fairphone-fp5: Enable the GPU

Luca Weiss (1):
      arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display

 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 102 ++++++++++++++++++++-
 1 file changed, 97 insertions(+), 5 deletions(-)
---
base-commit: adff68376f7a6872be00d87720764b30f3ad1059
change-id: 20250123-fp5-display-75cece20d3ef

Best regards,
-- 
Luca Weiss <luca.weiss@fairphone.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display
  2025-02-02 22:45 [PATCH 0/2] Enable panel and GPU on Fairphone 5 Luca Weiss
@ 2025-02-02 22:45 ` Luca Weiss
  2025-02-03 13:56   ` Konrad Dybcio
  2025-02-08 21:48   ` Marijn Suijten
  2025-02-02 22:45 ` [PATCH 2/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable the GPU Luca Weiss
  2025-02-26 13:40 ` [PATCH 0/2] Enable panel and GPU on Fairphone 5 Bjorn Andersson
  2 siblings, 2 replies; 6+ messages in thread
From: Luca Weiss @ 2025-02-02 22:45 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Marijn Suijten
  Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
	linux-kernel, Luca Weiss

Configure the MDSS nodes for the phone and add the panel node.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 94 ++++++++++++++++++++--
 1 file changed, 89 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
index 389eca9b9e68187980e92ac921a77a3c3b54f6a5..965e32473a58ae4748e4cb748980fad1d2b06ab6 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -138,6 +138,34 @@ vreg_ois_dvdd_1p1: regulator-ois-dvdd-1p1 {
 		vin-supply = <&vreg_s8b>;
 	};
 
+	vreg_oled_dvdd: regulator-oled-dvdd {
+		compatible = "regulator-fixed";
+		regulator-name = "oled_dvdd";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+
+		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		vin-supply = <&vreg_s1b>;
+
+		regulator-boot-on;
+	};
+
+	vreg_oled_vci: regulator-oled-vci {
+		compatible = "regulator-fixed";
+		regulator-name = "oled_vci";
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+
+		gpio = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		vin-supply = <&vreg_l13c>;
+
+		regulator-boot-on;
+	};
+
 	reserved-memory {
 		cont_splash_mem: cont-splash@e1000000 {
 			reg = <0x0 0xe1000000 0x0 0x2300000>;
@@ -597,11 +625,6 @@ eeprom@51 {
 	};
 };
 
-&dispcc {
-	/* Disable for now so simple-framebuffer continues working */
-	status = "disabled";
-};
-
 &gcc {
 	protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
 			   <GCC_EDP_CLKREF_EN>,
@@ -733,6 +756,46 @@ &ipa {
 	status = "okay";
 };
 
+&mdss {
+	status = "okay";
+};
+
+&mdss_dsi {
+	vdda-supply = <&vreg_l6b>;
+	status = "okay";
+
+	panel@0 {
+		compatible = "fairphone,fp5-rm692e5-boe", "raydium,rm692e5";
+		reg = <0>;
+
+		reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
+
+		vci-supply = <&vreg_oled_vci>;
+		vddio-supply = <&vreg_l12c>;
+		dvdd-supply = <&vreg_oled_dvdd>;
+
+		pinctrl-0 = <&disp_reset_n_active>, <&mdp_vsync>;
+		pinctrl-1 = <&disp_reset_n_suspend>, <&mdp_vsync>;
+		pinctrl-names = "default", "sleep";
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&mdss_dsi0_out>;
+			};
+		};
+	};
+};
+
+&mdss_dsi0_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&panel_in>;
+};
+
+&mdss_dsi_phy {
+	vdds-supply = <&vreg_l10c>;
+	status = "okay";
+};
+
 &pm7250b_adc {
 	pinctrl-0 = <&pm7250b_adc_default>;
 	pinctrl-names = "default";
@@ -1026,6 +1089,20 @@ bluetooth_enable_default: bluetooth-enable-default-state {
 		bias-disable;
 	};
 
+	disp_reset_n_active: disp-reset-n-active-state {
+		pins = "gpio44";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-disable;
+	};
+
+	disp_reset_n_suspend: disp-reset-n-suspend-state {
+		pins = "gpio44";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-down;
+	};
+
 	hall_sensor_default: hall-sensor-default-state {
 		pins = "gpio155";
 		function = "gpio";
@@ -1033,6 +1110,13 @@ hall_sensor_default: hall-sensor-default-state {
 		bias-pull-up;
 	};
 
+	mdp_vsync: mdp-vsync-state {
+		pins = "gpio80";
+		function = "mdp_vsync";
+		drive-strength = <2>;
+		bias-pull-down;
+	};
+
 	pm8008_int_default: pm8008-int-default-state {
 		pins = "gpio25";
 		function = "gpio";

-- 
2.48.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable the GPU
  2025-02-02 22:45 [PATCH 0/2] Enable panel and GPU on Fairphone 5 Luca Weiss
  2025-02-02 22:45 ` [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display Luca Weiss
@ 2025-02-02 22:45 ` Luca Weiss
  2025-02-26 13:40 ` [PATCH 0/2] Enable panel and GPU on Fairphone 5 Bjorn Andersson
  2 siblings, 0 replies; 6+ messages in thread
From: Luca Weiss @ 2025-02-02 22:45 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Marijn Suijten
  Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
	linux-kernel, Luca Weiss, Konrad Dybcio

From: Konrad Dybcio <konradybcio@kernel.org>

Enable the Adreno GPU and point to the correct ZAP fw path.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
index 965e32473a58ae4748e4cb748980fad1d2b06ab6..582b19277de414fa9cbb8f9929c6eebd697e8033 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -651,6 +651,14 @@ &gpi_dma1 {
 	status = "okay";
 };
 
+&gpu {
+	status = "okay";
+};
+
+&gpu_zap_shader {
+	firmware-name = "qcom/qcm6490/fairphone5/a660_zap.mbn";
+};
+
 &i2c1 {
 	status = "okay";
 

-- 
2.48.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display
  2025-02-02 22:45 ` [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display Luca Weiss
@ 2025-02-03 13:56   ` Konrad Dybcio
  2025-02-08 21:48   ` Marijn Suijten
  1 sibling, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2025-02-03 13:56 UTC (permalink / raw)
  To: Luca Weiss, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Marijn Suijten
  Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
	linux-kernel

On 2.02.2025 11:45 PM, Luca Weiss wrote:
> Configure the MDSS nodes for the phone and add the panel node.
> 
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display
  2025-02-02 22:45 ` [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display Luca Weiss
  2025-02-03 13:56   ` Konrad Dybcio
@ 2025-02-08 21:48   ` Marijn Suijten
  1 sibling, 0 replies; 6+ messages in thread
From: Marijn Suijten @ 2025-02-08 21:48 UTC (permalink / raw)
  To: Luca Weiss
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, ~postmarketos/upstreaming, phone-devel,
	linux-arm-msm, devicetree, linux-kernel

On 2025-02-02 23:45:51, Luca Weiss wrote:
> Configure the MDSS nodes for the phone and add the panel node.
> 
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>

Glad to hear (and see in real life) that you're able to use the 1:1:1 topology
patches.

Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>

Thanks!

> ---
>  arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 94 ++++++++++++++++++++--
>  1 file changed, 89 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> index 389eca9b9e68187980e92ac921a77a3c3b54f6a5..965e32473a58ae4748e4cb748980fad1d2b06ab6 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> @@ -138,6 +138,34 @@ vreg_ois_dvdd_1p1: regulator-ois-dvdd-1p1 {
>  		vin-supply = <&vreg_s8b>;
>  	};
>  
> +	vreg_oled_dvdd: regulator-oled-dvdd {
> +		compatible = "regulator-fixed";
> +		regulator-name = "oled_dvdd";
> +		regulator-min-microvolt = <1200000>;
> +		regulator-max-microvolt = <1200000>;
> +
> +		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		vin-supply = <&vreg_s1b>;
> +
> +		regulator-boot-on;
> +	};
> +
> +	vreg_oled_vci: regulator-oled-vci {
> +		compatible = "regulator-fixed";
> +		regulator-name = "oled_vci";
> +		regulator-min-microvolt = <3000000>;
> +		regulator-max-microvolt = <3000000>;
> +
> +		gpio = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		vin-supply = <&vreg_l13c>;
> +
> +		regulator-boot-on;
> +	};
> +
>  	reserved-memory {
>  		cont_splash_mem: cont-splash@e1000000 {
>  			reg = <0x0 0xe1000000 0x0 0x2300000>;
> @@ -597,11 +625,6 @@ eeprom@51 {
>  	};
>  };
>  
> -&dispcc {
> -	/* Disable for now so simple-framebuffer continues working */
> -	status = "disabled";
> -};
> -
>  &gcc {
>  	protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
>  			   <GCC_EDP_CLKREF_EN>,
> @@ -733,6 +756,46 @@ &ipa {
>  	status = "okay";
>  };
>  
> +&mdss {
> +	status = "okay";
> +};
> +
> +&mdss_dsi {
> +	vdda-supply = <&vreg_l6b>;
> +	status = "okay";
> +
> +	panel@0 {
> +		compatible = "fairphone,fp5-rm692e5-boe", "raydium,rm692e5";
> +		reg = <0>;
> +
> +		reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
> +
> +		vci-supply = <&vreg_oled_vci>;
> +		vddio-supply = <&vreg_l12c>;
> +		dvdd-supply = <&vreg_oled_dvdd>;
> +
> +		pinctrl-0 = <&disp_reset_n_active>, <&mdp_vsync>;
> +		pinctrl-1 = <&disp_reset_n_suspend>, <&mdp_vsync>;
> +		pinctrl-names = "default", "sleep";
> +
> +		port {
> +			panel_in: endpoint {
> +				remote-endpoint = <&mdss_dsi0_out>;
> +			};
> +		};
> +	};
> +};
> +
> +&mdss_dsi0_out {
> +	data-lanes = <0 1 2 3>;
> +	remote-endpoint = <&panel_in>;
> +};
> +
> +&mdss_dsi_phy {
> +	vdds-supply = <&vreg_l10c>;
> +	status = "okay";
> +};
> +
>  &pm7250b_adc {
>  	pinctrl-0 = <&pm7250b_adc_default>;
>  	pinctrl-names = "default";
> @@ -1026,6 +1089,20 @@ bluetooth_enable_default: bluetooth-enable-default-state {
>  		bias-disable;
>  	};
>  
> +	disp_reset_n_active: disp-reset-n-active-state {
> +		pins = "gpio44";
> +		function = "gpio";
> +		drive-strength = <8>;
> +		bias-disable;
> +	};
> +
> +	disp_reset_n_suspend: disp-reset-n-suspend-state {
> +		pins = "gpio44";
> +		function = "gpio";
> +		drive-strength = <2>;
> +		bias-pull-down;
> +	};
> +
>  	hall_sensor_default: hall-sensor-default-state {
>  		pins = "gpio155";
>  		function = "gpio";
> @@ -1033,6 +1110,13 @@ hall_sensor_default: hall-sensor-default-state {
>  		bias-pull-up;
>  	};
>  
> +	mdp_vsync: mdp-vsync-state {
> +		pins = "gpio80";
> +		function = "mdp_vsync";
> +		drive-strength = <2>;
> +		bias-pull-down;
> +	};
> +
>  	pm8008_int_default: pm8008-int-default-state {
>  		pins = "gpio25";
>  		function = "gpio";
> 
> -- 
> 2.48.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] Enable panel and GPU on Fairphone 5
  2025-02-02 22:45 [PATCH 0/2] Enable panel and GPU on Fairphone 5 Luca Weiss
  2025-02-02 22:45 ` [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display Luca Weiss
  2025-02-02 22:45 ` [PATCH 2/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable the GPU Luca Weiss
@ 2025-02-26 13:40 ` Bjorn Andersson
  2 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2025-02-26 13:40 UTC (permalink / raw)
  To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Marijn Suijten, Luca Weiss
  Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, devicetree,
	linux-kernel


On Sun, 02 Feb 2025 23:45:50 +0100, Luca Weiss wrote:
> Now since upstream DPU driver can use 1:1:1 DSC topology, we can finally
> enable the panel and GPU on Fairphone 5.
> 
> Depends on https://lore.kernel.org/linux-arm-msm/20250122-dpu-111-topology-v2-1-505e95964af9@somainline.org/
> 
> 

Applied, thanks!

[1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display
      commit: c365a026155ca926f878dee528715be8a02dabc7
[2/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable the GPU
      commit: 984748d30cd3ce0e11d63b0ba16dcbd61f7b4b9d

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-02-26 13:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-02 22:45 [PATCH 0/2] Enable panel and GPU on Fairphone 5 Luca Weiss
2025-02-02 22:45 ` [PATCH 1/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display Luca Weiss
2025-02-03 13:56   ` Konrad Dybcio
2025-02-08 21:48   ` Marijn Suijten
2025-02-02 22:45 ` [PATCH 2/2] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable the GPU Luca Weiss
2025-02-26 13:40 ` [PATCH 0/2] Enable panel and GPU on Fairphone 5 Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox