arm64: dts: qcom: sc8280xp-x13s: enable NVMe SSD
authorJohan Hovold <johan+linaro@kernel.org>
Thu, 10 Nov 2022 10:35:56 +0000 (11:35 +0100)
committerBjorn Andersson <andersson@kernel.org>
Sat, 12 Nov 2022 03:35:45 +0000 (21:35 -0600)
Enable the NVMe SSD connected to PCIe2.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221110103558.12690-8-johan+linaro@kernel.org
arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts

index 0208334..e212b53 100644 (file)
                regulator-boot-on;
                regulator-always-on;
        };
+
+       vreg_nvme: regulator-nvme {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VCC3_SSD";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&nvme_reg_en>;
+
+               regulator-boot-on;
+       };
 };
 
 &apps_rsc {
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                };
 
+               vreg_l6d: ldo6 {
+                       regulator-name = "vreg_l6d";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
                vreg_l7d: ldo7 {
                        regulator-name = "vreg_l7d";
                        regulator-min-microvolt = <3072000>;
        };
 };
 
+&pcie2a {
+       perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
+
+       vddpe-3v3-supply = <&vreg_nvme>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&pcie2a_default>;
+
+       status = "okay";
+};
+
+&pcie2a_phy {
+       vdda-phy-supply = <&vreg_l6d>;
+       vdda-pll-supply = <&vreg_l4d>;
+
+       status = "okay";
+};
+
 &pmc8280c_lpg {
        status = "okay";
 };
                };
        };
 
+       nvme_reg_en: nvme-reg-en-state {
+               pins = "gpio135";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       pcie2a_default: pcie2a-default-state {
+               clkreq-n-pins {
+                       pins = "gpio142";
+                       function = "pcie2a_clkreq";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               perst-n-pins {
+                       pins = "gpio143";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               wake-n-pins {
+                      pins = "gpio145";
+                      function = "gpio";
+                      drive-strength = <2>;
+                      bias-pull-up;
+              };
+       };
+
        qup0_i2c4_default: qup0-i2c4-default-state {
                pins = "gpio171", "gpio172";
                function = "qup4";