]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: sm6125-xiaomi-laurel-sprout: Enable MDSS and add panel
authorYedaya Katsman <yedaya.ka@gmail.com>
Sat, 14 Mar 2026 21:46:23 +0000 (23:46 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 Apr 2026 19:14:55 +0000 (14:14 -0500)
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 <kamil.golda@protonmail.com>
Signed-off-by: Kamil Gołda <kamil.golda@protonmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Yedaya Katsman <yedaya.ka@gmail.com>
Link: https://lore.kernel.org/r/20260314-panel-patches-v4-3-1ecbb2c0c3c8@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm6125-xiaomi-laurel-sprout.dts

index 97f64cb5d570e018ef666612f3839c4e6759ac7b..b9d9439e230b45d3af196a4059ad377d4d6069fe 100644 (file)
                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>;
        };
 };
 
+&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>;
 &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";
                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 {