[PATCH 3/3] arm64: dts: qcom: sm6125-xiaomi-laurel-sprout: Enable MDSS and add panel
From: Yedaya Katsman
Date: Mon Feb 23 2026 - 09:28:10 EST
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 <kamil.golda@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Gołda <kamil.golda@xxxxxxxxxxxxxx>
Signed-off-by: Yedaya Katsman <yedaya.ka@xxxxxxxxx>
---
.../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