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>
This commit is contained in:
Chukun Pan 2025-04-09 21:10:20 +08:00 committed by Robert Marko
parent 53a8e7b2d4
commit 1c582f7c73
4 changed files with 112 additions and 0 deletions

View file

@ -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";
};

View file

@ -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

View file

@ -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"

View file

@ -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)"