From 1c582f7c73939504b6985b2c00c8b7e9b33168ef Mon Sep 17 00:00:00 2001 From: Chukun Pan Date: Wed, 9 Apr 2025 21:10:20 +0800 Subject: [PATCH] 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 Link: https://github.com/openwrt/openwrt/pull/19840 Signed-off-by: Robert Marko --- .../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 + .../base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 112 insertions(+) create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6010-re-cs-07.dts 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 00000000000..650e2c55f35 --- /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 = ; + 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 = ; + switch_mac_mode = ; + + 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 170b27f898b..c9e0569bbd7 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 7cce06e3a37..f8a43d84f4e 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 844a7373acf..d230c32e2e3 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)" -- 2.47.3