summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChukun Pan2025-04-09 13:10:20 +0000
committerRobert Marko2026-01-18 10:13:54 +0000
commit1c582f7c73939504b6985b2c00c8b7e9b33168ef (patch)
tree035c70da1d6eaa2a7387ee1ae7dedd2bc906642a
parent53a8e7b2d47ca12a9fbb63e95da45ca59f117f8e (diff)
downloadxback-1c582f7c73939504b6985b2c00c8b7e9b33168ef.tar.gz
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@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/19840 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-re-cs-07.dts98
-rw-r--r--target/linux/qualcommax/image/ipq60xx.mk12
-rw-r--r--target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh1
4 files changed, 112 insertions, 0 deletions
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@1 {
+ port_id = <1>;
+ phy_address = <24>;
+ };
+ port@2 {
+ port_id = <2>;
+ phy_address = <25>;
+ };
+ port@3 {
+ port_id = <3>;
+ phy_address = <26>;
+ };
+ port@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@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)"