From: Yedaya Katsman Date: Sat, 14 Mar 2026 21:46:23 +0000 (+0200) Subject: arm64: dts: qcom: sm6125-xiaomi-laurel-sprout: Enable MDSS and add panel X-Git-Tag: v7.2-rc1~131^2~38^2~129 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=493cb869874cd301c370adf9a3f9577942c4f0f1;p=thirdparty%2Fkernel%2Flinux.git arm64: dts: qcom: sm6125-xiaomi-laurel-sprout: Enable MDSS and add panel 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. mdss_dsi0_phy is powered by VDD_MX, see power-domains in sm6125.dtsi Co-developed-by: Kamil Gołda Signed-off-by: Kamil Gołda Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio Signed-off-by: Yedaya Katsman Link: https://lore.kernel.org/r/20260314-panel-patches-v4-3-1ecbb2c0c3c8@gmail.com Signed-off-by: Bjorn Andersson --- 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 97f64cb5d570e..b9d9439e230b4 100644 --- a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts +++ b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts @@ -95,6 +95,33 @@ pinctrl-names = "default"; }; + panel_vdd_1p8: regulator-panel-vdd { + compatible = "regulator-fixed"; + regulator-name = "panel_vdd_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_vdd_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>; @@ -162,6 +189,45 @@ }; }; +&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"; + + vdd-supply = <&panel_vdd_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>; @@ -426,6 +492,13 @@ &tlmm { gpio-reserved-ranges = <22 2>, <28 6>; + panel_vdd_1p8_en: panel-vdd-default-state { + pins = "gpio26"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + ts_vdd_en: ts-vdd-default-state { pins = "gpio83"; function = "gpio"; @@ -460,6 +533,27 @@ drive-strength = <2>; bias-pull-down; }; + + 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 {