Enable the MDSS nodes and add supplies and bindings for the Samsung S6E8FCO panel.
The ldo and iovcc pins boot up with a current of 16 mA, but they work fine with 2mA, so I used that. Co-developed-by: Kamil Gołda <[email protected]> Signed-off-by: Kamil Gołda <[email protected]> Signed-off-by: Yedaya Katsman <[email protected]> --- .../boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts index 994fb0412fcbdf5466f87a325c48b697a37b514b..10fd01143a644004b807fc455d2235f8e6a9737a 100644 --- a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts +++ b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts @@ -82,6 +82,32 @@ key-volume-up { }; }; + panel_ldo_supply: panel-ldo-supply { + compatible = "regulator-fixed"; + regulator-name = "panel_ldo_supply"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + + enable-active-high; + gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&panel_ldo_en>; + pinctrl-names = "default"; + }; + + panel_iovcc_supply: panel-iovcc-supply { + compatible = "regulator-fixed"; + regulator-name = "panel_iovcc_supply"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + + enable-active-high; + gpio = <&tlmm 124 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&panel_iovcc_en>; + pinctrl-names = "default"; + }; + thermal-zones { rf-pa0-thermal { thermal-sensors = <&pm6125_adc_tm 0>; @@ -128,6 +154,46 @@ &hsusb_phy1 { status = "okay"; }; +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l18a>; + + pinctrl-0 = <&mdss_default>; + pinctrl-1 = <&mdss_sleep>; + pinctrl-names = "default", "sleep"; + + status = "okay"; + + panel@0 { + compatible = "samsung,s6e8fco"; + reg = <0>; + + vddio-supply = <&vreg_l9a>; + ldo-supply = <&panel_ldo_supply>; + iovcc-supply = <&panel_iovcc_supply>; + reset-gpios = <&tlmm 90 GPIO_ACTIVE_LOW>; + + 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 { + status = "okay"; +}; + &pm6125_adc { pinctrl-names = "default"; pinctrl-0 = <&camera_flash_therm &emmc_ufs_therm>; @@ -387,6 +453,34 @@ &sdhc_2 { &tlmm { gpio-reserved-ranges = <22 2>, <28 6>; + + panel_ldo_en: panel-ldo-default-state { + pins = "gpio26"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + + mdss_default: mdss-default-state { + pins = "gpio90"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + mdss_sleep: mdss-sleep-state { + pins = "gpio90"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + panel_iovcc_en: panel-iovcc-default-state { + pins = "gpio124"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; }; &ufs_mem_hc { -- 2.53.0
