Enable the MDSS nodes and add supplies and bindings for the Samsung S6E8FCO DSI controller for the M1906F9 panel.
The ldo and iovcc gpio 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..878b7cab479fb173bbc01ffb653e306e52cae54b 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,33 @@ key-volume-up { }; }; + panel_vddi_1p8: regulator-panel-vddi { + compatible = "regulator-fixed"; + regulator-name = "panel_vddi_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + vin-supply = <&vreg_l9a>; + + enable-active-high; + gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&panel_vddi_1p8_en>; + pinctrl-names = "default"; + }; + + panel_vci_3p0: regulator-panel-vci { + compatible = "regulator-fixed"; + regulator-name = "panel_vci_3p0"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + + enable-active-high; + gpio = <&tlmm 124 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&panel_vci_3p0_en>; + pinctrl-names = "default"; + }; + thermal-zones { rf-pa0-thermal { thermal-sensors = <&pm6125_adc_tm 0>; @@ -128,6 +155,45 @@ &hsusb_phy1 { status = "okay"; }; +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l18a>; + status = "okay"; + + panel@0 { + compatible = "samsung,s6e8fco-m1906f9"; + reg = <0>; + + reset-gpios = <&tlmm 90 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&mdss_default>; + pinctrl-1 = <&mdss_sleep>; + pinctrl-names = "default", "sleep"; + + vddi-supply = <&panel_vddi_1p8>; + vci-supply = <&panel_vci_3p0>; + + 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_vddi_1p8_en: panel-vddi-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_vci_3p0_en: panel-vci-default-state { + pins = "gpio124"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; }; &ufs_mem_hc { -- 2.53.0
