.../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+)
Enable PCIe5 and the SDX62 modem present on some T14s.
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
I don't have a modem in my T14s, but this is based on the work I did to
enable the modem on the CRD reference design and the T14s schematics.
I'm hopping Dennis will be able to help out with testing.
Note that we may possibly need a new entry for SDX62 in the MHI driver
device id table (mhi_pci_id_table) as well. The output of 'lspci -n'
will tell.
Johan
.../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 65 +++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
index 962fb050c55c..8b3f715bfc0b 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
@@ -310,6 +310,22 @@ vph_pwr: regulator-vph-pwr {
regulator-boot-on;
};
+ vreg_wwan: regulator-wwan {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VCC3B_WAN_RCM";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&wwan_sw_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
sound {
compatible = "qcom,x1e80100-sndcard";
model = "X1E80100-LENOVO-Thinkpad-T14s";
@@ -1028,6 +1044,25 @@ &pcie4_phy {
status = "okay";
};
+&pcie5 {
+ perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+
+ vddpe-3v3-supply = <&vreg_wwan>;
+
+ pinctrl-0 = <&pcie5_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie5_phy {
+ vdda-phy-supply = <&vreg_l3i_0p8>;
+ vdda-pll-supply = <&vreg_l3e_1p2>;
+
+ status = "okay";
+};
+
&pcie6a {
perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
@@ -1309,6 +1344,29 @@ wake-n-pins {
};
};
+ pcie5_default: pcie5-default-state {
+ clkreq-n-pins {
+ pins = "gpio150";
+ function = "pcie5_clk";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio149";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-n-pins {
+ pins = "gpio151";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
pcie6a_default: pcie6a-default-state {
clkreq-n-pins {
pins = "gpio153";
@@ -1367,6 +1425,13 @@ wcd_default: wcd-reset-n-active-state {
bias-disable;
output-low;
};
+
+ wwan_sw_en: wwan-sw-en-state {
+ pins = "gpio221";
+ function = "gpio";
+ drive-strength = <4>;
+ bias-disable;
+ };
};
&usb_1_ss0_hsphy {
--
2.48.1
On Thu, 27 Mar 2025 09:14:27 +0100, Johan Hovold wrote:
> Enable PCIe5 and the SDX62 modem present on some T14s.
>
>
Applied, thanks!
[1/1] arm64: dts: qcom: x1e78100-t14s: enable SDX62 modem
commit: 03026046589d9baca0d24348faa76c72899de48f
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
On 25-03-27 09:14:27, Johan Hovold wrote: > Enable PCIe5 and the SDX62 modem present on some T14s. > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > > I don't have a modem in my T14s, but this is based on the work I did to > enable the modem on the CRD reference design and the T14s schematics. > What happens with T14s variants that do not have the WWAN ? Is it OK to enable it on those, HW-wise ? (Hope we don't have to split the devicetree again, like we did for the panel)
On 3/28/25 10:29 AM, Abel Vesa wrote: > On 25-03-27 09:14:27, Johan Hovold wrote: >> Enable PCIe5 and the SDX62 modem present on some T14s. >> >> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> >> --- >> >> I don't have a modem in my T14s, but this is based on the work I did to >> enable the modem on the CRD reference design and the T14s schematics. >> > > What happens with T14s variants that do not have the WWAN ? > > Is it OK to enable it on those, HW-wise ? > > (Hope we don't have to split the devicetree again, like we did for the > panel) Unless Lenovo planted something else on these GPIOs (doubt), it's even better to enable it, as UEFI brings up this controller anyway Konrad
On 25-03-29 13:06:54, Konrad Dybcio wrote: > On 3/28/25 10:29 AM, Abel Vesa wrote: > > On 25-03-27 09:14:27, Johan Hovold wrote: > >> Enable PCIe5 and the SDX62 modem present on some T14s. > >> > >> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > >> --- > >> > >> I don't have a modem in my T14s, but this is based on the work I did to > >> enable the modem on the CRD reference design and the T14s schematics. > >> > > > > What happens with T14s variants that do not have the WWAN ? > > > > Is it OK to enable it on those, HW-wise ? > > > > (Hope we don't have to split the devicetree again, like we did for the > > panel) > > Unless Lenovo planted something else on these GPIOs (doubt), it's even better > to enable it, as UEFI brings up this controller anyway SGTM then. > > Konrad
On Thu, Mar 27, 2025 at 09:14:27AM +0100, Johan Hovold wrote:
> Enable PCIe5 and the SDX62 modem present on some T14s.
>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> ---
>
> I don't have a modem in my T14s, but this is based on the work I did to
> enable the modem on the CRD reference design and the T14s schematics.
>
> I'm hopping Dennis will be able to help out with testing.
>
> Note that we may possibly need a new entry for SDX62 in the MHI driver
> device id table (mhi_pci_id_table) as well. The output of 'lspci -n'
> will tell.
>
> Johan
>
>
> .../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 65 +++++++++++++++++++
> 1 file changed, 65 insertions(+)
>
> @@ -1028,6 +1044,25 @@ &pcie4_phy {
> status = "okay";
> };
>
> +&pcie5 {
> + perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
> +
> + vddpe-3v3-supply = <&vreg_wwan>;
As we now have a proper PCIe slot power controls, is anything preventing
us from using it for the modem?
> +
> + pinctrl-0 = <&pcie5_default>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +};
> +
--
With best wishes
Dmitry
© 2016 - 2025 Red Hat, Inc.