From: Timo Jutila Date: Sun, 14 Jun 2026 11:12:05 +0000 (+0300) Subject: qualcommax: ipq807x: Add PCIe support for TP-Link Deco X80-5G X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F23801%2Fhead;p=thirdparty%2Fopenwrt.git qualcommax: ipq807x: Add PCIe support for TP-Link Deco X80-5G 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 Link: https://github.com/openwrt/openwrt/pull/23801 Signed-off-by: Robert Marko --- diff --git a/target/linux/qualcommax/dts/ipq8074-deco-x80-5g.dts b/target/linux/qualcommax/dts/ipq8074-deco-x80-5g.dts index 8a6f4744248..2f14b554ccb 100644 --- a/target/linux/qualcommax/dts/ipq8074-deco-x80-5g.dts +++ b/target/linux/qualcommax/dts/ipq8074-deco-x80-5g.dts @@ -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>; + }; + }; +}; diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index d1f42dd6178..2bd3dab6343 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -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