From: Samuel Pascua <pascua.samuel.14@xxxxxxxxx> 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 <pascua.samuel.14@xxxxxxxxx> [iskren.chernev@xxxxxxxxx: add reset gpio, regulators] Signed-off-by: Iskren Chernev <iskren.chernev@xxxxxxxxx> --- 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