From: Samuel Pascua <[email protected]>

Add initial support for the display found on the Samsung Galaxy 5 (klte)
phone. This is based on work from Jonathan Marek & Brian Masney.

Signed-off-by: Samuel Pascua <[email protected]>
[[email protected]: add reset gpio, regulators]
Signed-off-by: Iskren Chernev <[email protected]>
---
On downstream the panel uses a regulator and an enable pin, but it is hinted
that the enable pin is actually another regulator, so wrap the enable pin into
a regulator and put the two new regulator in the panel node.

 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 95 +++++++++++++++++++
 1 file changed, 95 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts 
b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 86be4ae743f4..d042c7cbab71 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -298,6 +298,20 @@ vreg_wlan: wlan-regulator {
                enable-active-high;
        };
 
+       vreg_panel: panel-regulator {
+               compatible = "regulator-fixed";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&panel_en_pin>;
+
+               regulator-name = "panel-vddr-reg";
+               regulator-min-microvolt = <1500000>;
+               regulator-max-microvolt = <1500000>;
+
+               gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        /delete-node/ vreg-boost;
 };
 
@@ -453,6 +467,16 @@ int {
                                bias-pull-down;
                        };
                };
+
+               panel_te_pin: panel {
+                       te {
+                               pins = "gpio12";
+                               function = "mdp_vsync";
+
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+               };
        };
 
        sdhc_1: sdhci@f9824900 {
@@ -701,6 +725,60 @@ fuelgauge@36 {
        adreno@fdb00000 {
                status = "ok";
        };
+
+       mdss@fd900000 {
+               status = "ok";
+
+               mdp@fd900000 {
+                       status = "ok";
+               };
+
+               dsi@fd922800 {
+                       status = "ok";
+
+                       vdda-supply = <&pma8084_l2>;
+                       vdd-supply = <&pma8084_l22>;
+                       vddio-supply = <&pma8084_l12>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       ports {
+                               port@1 {
+                                       endpoint {
+                                               remote-endpoint = <&panel_in>;
+                                               data-lanes = <0 1 2 3>;
+                                       };
+                               };
+                       };
+
+                       panel: panel@0 {
+                               reg = <0>;
+                               compatible = "samsung,s6e3fa2";
+
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
+
+                               iovdd-supply = <&pma8084_lvs4>;
+                               vddr-supply = <&vreg_panel>;
+
+                               reset-gpios = <&pma8084_gpios 17 
GPIO_ACTIVE_LOW>;
+                               te-gpios = <&msmgpio 12 GPIO_ACTIVE_HIGH>;
+
+                               port {
+                                       panel_in: endpoint {
+                                               remote-endpoint = <&dsi0_out>;
+                                       };
+                               };
+                       };
+               };
+
+               dsi-phy@fd922a00 {
+                       status = "ok";
+
+                       vddio-supply = <&pma8084_l12>;
+               };
+       };
 };
 
 &spmi_bus {
@@ -730,6 +808,14 @@ touch_pin: touchscreen-int-pin {
                                power-source = <PMA8084_GPIO_S4>;
                        };
 
+                       panel_en_pin: panel-en-pin {
+                               pins = "gpio14";
+                               function = "normal";
+                               bias-pull-up;
+                               power-source = <PMA8084_GPIO_S4>;
+                               qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+                       };
+
                        wlan_sleep_clk_pin: wlan-sleep-clk-pin {
                                pins = "gpio16";
                                function = "func2";
@@ -739,6 +825,15 @@ wlan_sleep_clk_pin: wlan-sleep-clk-pin {
                                qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
                        };
 
+                       panel_rst_pin: panel-rst-pin {
+                               pins = "gpio17";
+                               function = "normal";
+                               bias-disable;
+                               power-source = <PMA8084_GPIO_S4>;
+                               qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+                       };
+
+
                        fuelgauge_pin: fuelgauge-int-pin {
                                pins = "gpio21";
                                function = "normal";
-- 
2.30.0

Reply via email to