Add the description for the display panel found on this phone.
Unfortunately the LCDB module on PM6150L isn't yet supported upstream so
we need to use a dummy regulator-fixed in the meantime.

And with this done we can also enable the GPU and set the zap shader
firmware path.

Reviewed-by: Konrad Dybcio <konrad.dyb...@linaro.org>
Signed-off-by: Luca Weiss <luca.we...@fairphone.com>
---
 arch/arm64/boot/dts/qcom/sm6350.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 53 +++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi 
b/arch/arm64/boot/dts/qcom/sm6350.dtsi
index 5a05f14669be..c8099b10ddc4 100644
--- a/arch/arm64/boot/dts/qcom/sm6350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi
@@ -1328,7 +1328,7 @@ gpu: gpu@3d00000 {
 
                        status = "disabled";
 
-                       zap-shader {
+                       gpu_zap_shader: zap-shader {
                                memory-region = <&pil_gpu_mem>;
                        };
 
diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts 
b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
index ade619805519..4e61da8078d1 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -68,6 +68,14 @@ key-volume-up {
                };
        };
 
+       /* Dummy regulator until PM6150L has LCDB VSP/VSN support */
+       lcdb_dummy: regulator-lcdb-dummy {
+               compatible = "regulator-fixed";
+               regulator-name = "lcdb_dummy";
+               regulator-min-microvolt = <5500000>;
+               regulator-max-microvolt = <5500000>;
+       };
+
        reserved-memory {
                /*
                 * The rmtfs memory region in downstream is 'dynamically 
allocated'
@@ -373,6 +381,14 @@ &gpi_dma1 {
        status = "okay";
 };
 
+&gpu {
+       status = "okay";
+};
+
+&gpu_zap_shader {
+       firmware-name = "qcom/sm7225/fairphone4/a615_zap.mbn";
+};
+
 &i2c0 {
        clock-frequency = <400000>;
        status = "okay";
@@ -404,6 +420,43 @@ &ipa {
        status = "okay";
 };
 
+&mdss {
+       status = "okay";
+};
+
+&mdss_dsi0 {
+       vdda-supply = <&vreg_l22a>;
+       status = "okay";
+
+       panel@0 {
+               compatible = "djn,9a-3r063-1102b";
+               reg = <0>;
+
+               backlight = <&pm6150l_wled>;
+               reset-gpios = <&pm6150l_gpios 9 GPIO_ACTIVE_LOW>;
+
+               vdd1-supply = <&vreg_l1e>;
+               vsn-supply = <&lcdb_dummy>;
+               vsp-supply = <&lcdb_dummy>;
+
+               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 {
+       vdds-supply = <&vreg_l18a>;
+       status = "okay";
+};
+
 &mpss {
        firmware-name = "qcom/sm7225/fairphone4/modem.mdt";
        status = "okay";

-- 
2.43.2

Reply via email to