[openwrt/openwrt] qualcommax: ipq60xx: add JDCloud RE-CS-07 support

LEDE Commits lede-commits at lists.infradead.org
Sun Jan 18 02:13:58 PST 2026


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/1c582f7c73939504b6985b2c00c8b7e9b33168ef

commit 1c582f7c73939504b6985b2c00c8b7e9b33168ef
Author: Chukun Pan <amadeus at jmu.edu.cn>
AuthorDate: Wed Apr 9 21:10:20 2025 +0800

    qualcommax: ipq60xx: add JDCloud RE-CS-07 support
    
    Specifications:
      SoC:     Qualcomm IPQ6010 1.8GHz
      RAM:     K4A8G165WC-BCTD x2 2GiB
      ETH:     QCA8075 (3x LAN, 1x WAN)
      Flash:   ICMAX 8GB eMMC
      Power:   DC 12V 2A
      USB:     1x 3.0
      Button:  Reset
    
    Flash instructions:
      1. Download the initramfs image, rename it to
         initramfs.itb, host it with the tftp server.
      2. Enter "jdmt018R" to interrupt U-Boot
         when the following statement appears:
         "disabled console and autoboot in 2 seconds"
      3. Run these commands in U-Boot console:
         tftpboot initramfs.itb
         bootm
      4. After openwrt boots up, use scp or luci web
         to upload sysupgrade.bin to upgrade.
    
    Signed-off-by: Chukun Pan <amadeus at jmu.edu.cn>
    Link: https://github.com/openwrt/openwrt/pull/19840
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../arch/arm64/boot/dts/qcom/ipq6010-re-cs-07.dts  | 98 ++++++++++++++++++++++
 target/linux/qualcommax/image/ipq60xx.mk           | 12 +++
 .../ipq60xx/base-files/etc/board.d/02_network      |  1 +
 .../ipq60xx/base-files/lib/upgrade/platform.sh     |  1 +
 4 files changed, 112 insertions(+)

diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-re-cs-07.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-re-cs-07.dts
new file mode 100644
index 0000000000..650e2c55f3
--- /dev/null
+++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-re-cs-07.dts
@@ -0,0 +1,98 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "ipq6010-re-cs.dtsi"
+
+/ {
+	model = "JDCloud RE-CS-07";
+	compatible = "jdcloud,re-cs-07", "qcom,ipq6018";
+
+	aliases {
+		ethernet0 = &dp1;
+		ethernet1 = &dp2;
+		ethernet2 = &dp3;
+		ethernet3 = &dp4;
+
+		label-mac-device = &dp2;
+		serial0 = &blsp1_uart3;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+		pinctrl-0 = <&button_pins>;
+		pinctrl-names = "default";
+
+		reset {
+			label = "reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&tlmm 56 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&tlmm {
+	button_pins: button-pins {
+		mux {
+			pins = "gpio56";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+};
+
+&switch {
+	status = "okay";
+
+	switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>;
+	switch_wan_bmp = <ESS_PORT1>;
+	switch_mac_mode = <MAC_MODE_PSGMII>;
+
+	qcom,port_phyinfo {
+		port at 1 {
+			port_id = <1>;
+			phy_address = <24>;
+		};
+		port at 2 {
+			port_id = <2>;
+			phy_address = <25>;
+		};
+		port at 3 {
+			port_id = <3>;
+			phy_address = <26>;
+		};
+		port at 4 {
+			port_id = <4>;
+			phy_address = <27>;
+		};
+	};
+};
+
+&edma {
+	status = "okay";
+};
+
+&dp1 {
+	status = "okay";
+	phy-handle = <&qca8075_0>;
+	label = "wan";
+};
+
+&dp2 {
+	status = "okay";
+	phy-handle = <&qca8075_1>;
+	label = "lan1";
+};
+
+&dp3 {
+	status = "okay";
+	phy-handle = <&qca8075_2>;
+	label = "lan2";
+};
+
+&dp4 {
+	status = "okay";
+	phy-handle = <&qca8075_3>;
+	label = "lan3";
+};
diff --git a/target/linux/qualcommax/image/ipq60xx.mk b/target/linux/qualcommax/image/ipq60xx.mk
index 170b27f898..c9e0569bbd 100644
--- a/target/linux/qualcommax/image/ipq60xx.mk
+++ b/target/linux/qualcommax/image/ipq60xx.mk
@@ -88,6 +88,18 @@ define Device/jdcloud_re-cs-02
 endef
 TARGET_DEVICES += jdcloud_re-cs-02
 
+define Device/jdcloud_re-cs-07
+	$(call Device/FitImage)
+	DEVICE_VENDOR := JDCloud
+	DEVICE_MODEL := RE-CS-07
+	SOC := ipq6010
+	BLOCKSIZE := 64k
+	KERNEL_SIZE := 6144k
+	DEVICE_DTS_CONFIG := config at cp03-c4
+	DEVICE_PACKAGES := -ath11k-firmware-ipq6018 -kmod-ath11k-ahb -wpad-basic-mbedtls
+endef
+TARGET_DEVICES += jdcloud_re-cs-07
+
 define Device/jdcloud_re-ss-01
 	$(call Device/FitImage)
 	DEVICE_VENDOR := JDCloud
diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
index 7cce06e3a3..f8a43d84f4 100644
--- a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
+++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
@@ -28,6 +28,7 @@ ipq60xx_setup_interfaces()
 	yuncore,fap650)
 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
 		;;
+	jdcloud,re-cs-07|\
 	jdcloud,re-ss-01|\
 	qihoo,360v6)
 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
index 844a7373ac..d230c32e2e 100644
--- a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
@@ -167,6 +167,7 @@ platform_do_upgrade() {
 		nand_do_upgrade "$1"
 		;;
 	jdcloud,re-cs-02|\
+	jdcloud,re-cs-07|\
 	jdcloud,re-ss-01)
 		local cfgpart=$(find_mmc_part "0:BOOTCONFIG")
 		part_num="$(hexdump -e '1/1 "%01x|"' -n 1 -s 148 -C $cfgpart | cut -f 1 -d "|" | head -n1)"




More information about the lede-commits mailing list