]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display
authorLuca Weiss <luca.weiss@fairphone.com>
Sun, 2 Feb 2025 22:45:51 +0000 (23:45 +0100)
committerBjorn Andersson <andersson@kernel.org>
Wed, 26 Feb 2025 03:30:29 +0000 (21:30 -0600)
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>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Link: https://lore.kernel.org/r/20250202-fp5-display-v1-1-f52bf546e38f@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts

index 769c66cb5d19dbf50e137b3a72de2e36ec4daecf..cc4ff2c7a72643c3e4186644c43de922bcc5fcff 100644 (file)
                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>;
        };
 };
 
-&dispcc {
-       /* Disable for now so simple-framebuffer continues working */
-       status = "disabled";
-};
-
 &gcc {
        protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
                           <GCC_EDP_CLKREF_EN>,
        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";
                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";
                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";