]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
qualcommax: ipq807x: Add PCIe support for TP-Link Deco X80-5G 23801/head
authorTimo Jutila <zutija@gmail.com>
Sun, 14 Jun 2026 11:12:05 +0000 (14:12 +0300)
committerRobert Marko <robimarko@gmail.com>
Tue, 23 Jun 2026 11:42:55 +0000 (13:42 +0200)
Make 5G modem available over PCIe.

Modify dts to enable PCIe.
Adapted based on ipq8072-linkhub-hh500v.dts

Add MHI modules to default X80-5g image

Signed-off-by: Timo Jutila <zutija@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23801
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/qualcommax/dts/ipq8074-deco-x80-5g.dts
target/linux/qualcommax/image/ipq807x.mk

index 8a6f47442486747f1129ee9712dfc85d124a955f..2f14b554ccb8ba47a683b85aa4fc25cd6f9e921e 100644 (file)
@@ -48,6 +48,12 @@ to suit the TP-Link Deco X80-5G target */
                        gpio-export,output = <0>;
                        gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; /* select external sma antennas for wwan output */
                };
+
+               modem-power { /* sdx_pon_gpio for pcie */
+                       gpio-export,name = "modem_power";
+                       gpio-export,output = <1>;
+                       gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
+               };
        };
 
        gpio_keys {
@@ -315,11 +321,27 @@ to suit the TP-Link Deco X80-5G target */
                bias-disable;
        };
 
-       modem_pins: modem-state {
-               pins = "gpio29", "gpio55";
-               function = "gpio";
-               drive-strength = <2>;
-               bias-disable;
+       modem_pins: modem-pins {
+               modem_power_on {
+                       bias-pull-up;
+                       drive-strength = <8>;
+                       output-high;
+                       pins = "gpio30";
+                       function = "gpio";
+               };
+
+               modem_reset {
+                       drive-strength = <8>;
+                       output-high;
+                       pins = "gpio29";
+               };
+
+               w_disable {
+                       pins = "gpio55";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
        };
 
        led_pins: led-state {
@@ -344,6 +366,13 @@ to suit the TP-Link Deco X80-5G target */
                        bias-pull-up;
                };
        };
+
+       pcie0_default_state: pcie0_wake_gpio {
+               bias-pull-up;
+               drive-strength = <8>;
+               function = "pcie0_wake";
+               pins = "gpio59";
+       };
 };
 
 &blsp1_uart5 {
@@ -456,3 +485,20 @@ to suit the TP-Link Deco X80-5G target */
        status = "okay";
        qcom,ath11k-calibration-variant = "tplink_deco-x80-5g";
 };
+
+&pcie_qmp0 {
+       status = "okay";
+};
+
+&pcie0 {
+       status = "okay";
+       pinctrl-0 = <&pcie0_default_state>;
+       pinctrl-names = "default";
+       perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>;
+
+       pcie@0 {
+               modem@0,0 {
+                       reg = <0x00 0x00 0x00 0x00 0x00>;
+               };
+       };
+};
index d1f42dd617843f0ba08e0f3cdfc20837a226f94c..2bd3dab6343f905f3567406d676c4a6771379c7a 100644 (file)
@@ -472,7 +472,8 @@ define Device/tplink_deco-x80-5g
        DEVICE_DTS_CONFIG := config@hk01.c5
        SOC := ipq8074
        DEVICE_PACKAGES := kmod-hwmon-gpiofan ipq-wifi-tplink_deco-x80-5g \
-                kmod-usb-serial-option kmod-usb-net-qmi-wwan
+               kmod-usb-serial-option kmod-usb-net-qmi-wwan kmod-mhi-pci-generic \
+               kmod-mhi-wwan-ctrl kmod-mhi-wwan-mbim
 endef
 TARGET_DEVICES += tplink_deco-x80-5g