Skip to content

Commit 1642251

Browse files
aiamadeusrobimarko
authored andcommitted
qualcommax: ipq60xx: add JDCloud RE-SS-01 support
Specifications: SoC: Qualcomm IPQ6000 1.2GHz RAM: NT52CB256MB16DP 512MiB Flash: FORESEE 64GB/128GB eMMC ETH: QCA8075 (3x LAN, 1x WAN) WLAN1: QCN5022 2.4GHz AX 2x2 WLAN2: QCN5052 5GHz AX 2x2 Power: DC 12V 2A Button: Reset, Wps USB: 1x 3.0 Flash instructions: 1. Download the initramfs image, rename it to initramfs.itb, host it with the tftp server. 2. If the stock firmware version is 4.3.0.r4211 or higher, 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: #19780 Signed-off-by: Robert Marko <robimarko@gmail.com>
1 parent 9d1f6ec commit 1642251

File tree

6 files changed

+258
-3
lines changed

6 files changed

+258
-3
lines changed

package/firmware/ipq-wifi/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ ALLWIFIBOARDS:= \
4646
glinet_gl-b3000 \
4747
ignitenet_ss-w2-ac2600 \
4848
iodata_wn-dax3000gr \
49+
jdcloud_re-ss-01 \
4950
linksys_homewrk \
5051
linksys_mr5500 \
5152
linksys_mr6350 \
@@ -229,6 +230,7 @@ $(eval $(call generate-ipq-wifi-package,glinet_gl-axt1800,GL.iNet GL-AXT1800))
229230
$(eval $(call generate-ipq-wifi-package,glinet_gl-b3000,GL.iNet GL-B3000))
230231
$(eval $(call generate-ipq-wifi-package,ignitenet_ss-w2-ac2600,Ignitenet SS-W2-AC2600))
231232
$(eval $(call generate-ipq-wifi-package,iodata_wn-dax3000gr,I-O DATA WN-DAX3000GR))
233+
$(eval $(call generate-ipq-wifi-package,jdcloud_re-ss-01,JDCloud RE-SS-01))
232234
$(eval $(call generate-ipq-wifi-package,linksys_homewrk,Linksys HomeWRK))
233235
$(eval $(call generate-ipq-wifi-package,linksys_mr5500,Linksys MR5500))
234236
$(eval $(call generate-ipq-wifi-package,linksys_mr6350,Linksys MR6350))
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2+
3+
/dts-v1/;
4+
5+
#include "ipq6018-512m.dtsi"
6+
#include "ipq6018-ess.dtsi"
7+
8+
#include <dt-bindings/gpio/gpio.h>
9+
#include <dt-bindings/input/input.h>
10+
#include <dt-bindings/leds/common.h>
11+
12+
/ {
13+
model = "JDCloud RE-SS-01";
14+
compatible = "jdcloud,re-ss-01", "qcom,ipq6018";
15+
16+
aliases {
17+
ethernet1 = &dp2;
18+
ethernet2 = &dp3;
19+
ethernet3 = &dp4;
20+
ethernet4 = &dp5;
21+
serial0 = &blsp1_uart3;
22+
23+
label-mac-device = &dp2;
24+
led-boot = &led_status_red;
25+
led-failsafe = &led_status_red;
26+
led-running = &led_status_green;
27+
led-upgrade = &led_status_blue;
28+
};
29+
30+
keys {
31+
compatible = "gpio-keys";
32+
pinctrl-0 = <&button_pins>;
33+
pinctrl-names = "default";
34+
35+
wps {
36+
label = "wps";
37+
linux,code = <KEY_WPS_BUTTON>;
38+
gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
39+
};
40+
41+
reset {
42+
label = "reset";
43+
linux,code = <KEY_RESTART>;
44+
gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
45+
};
46+
};
47+
48+
leds {
49+
compatible = "gpio-leds";
50+
51+
led_status_red: red {
52+
color = <LED_COLOR_ID_RED>;
53+
function = LED_FUNCTION_STATUS;
54+
gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
55+
};
56+
57+
led_status_blue: blue {
58+
color = <LED_COLOR_ID_BLUE>;
59+
function = LED_FUNCTION_STATUS;
60+
gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>;
61+
};
62+
63+
led_status_green: green {
64+
color = <LED_COLOR_ID_GREEN>;
65+
function = LED_FUNCTION_STATUS;
66+
gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
67+
};
68+
};
69+
};
70+
71+
&tlmm {
72+
gpio-reserved-ranges = <20 1>;
73+
74+
button_pins: button-pins {
75+
mux {
76+
pins = "gpio8", "gpio9";
77+
function = "gpio";
78+
drive-strength = <8>;
79+
bias-pull-up;
80+
};
81+
};
82+
83+
mdio_pins: mdio-pins {
84+
mdc {
85+
pins = "gpio64";
86+
function = "mdc";
87+
drive-strength = <8>;
88+
bias-pull-up;
89+
};
90+
91+
mdio {
92+
pins = "gpio65";
93+
function = "mdio";
94+
drive-strength = <8>;
95+
bias-pull-up;
96+
};
97+
};
98+
};
99+
100+
&blsp1_uart3 {
101+
pinctrl-0 = <&serial_3_pins>;
102+
pinctrl-names = "default";
103+
status = "okay";
104+
};
105+
106+
&qusb_phy_0 {
107+
status = "okay";
108+
};
109+
110+
&rpm {
111+
status = "disabled";
112+
};
113+
114+
&sdhc {
115+
bus-width = <8>;
116+
mmc-ddr-1_8v;
117+
mmc-hs200-1_8v;
118+
non-removable;
119+
status = "okay";
120+
};
121+
122+
&ssphy_0 {
123+
status = "okay";
124+
};
125+
126+
&usb3 {
127+
status = "okay";
128+
};
129+
130+
&mdio {
131+
status = "okay";
132+
133+
pinctrl-0 = <&mdio_pins>;
134+
pinctrl-names = "default";
135+
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
136+
137+
ethernet-phy-package@0 {
138+
compatible = "qcom,qca8075-package";
139+
#address-cells = <1>;
140+
#size-cells = <0>;
141+
reg = <0>;
142+
143+
qca8075_1: ethernet-phy@1 {
144+
compatible = "ethernet-phy-ieee802.3-c22";
145+
reg = <1>;
146+
};
147+
148+
qca8075_2: ethernet-phy@2 {
149+
compatible = "ethernet-phy-ieee802.3-c22";
150+
reg = <2>;
151+
};
152+
153+
qca8075_3: ethernet-phy@3 {
154+
compatible = "ethernet-phy-ieee802.3-c22";
155+
reg = <3>;
156+
};
157+
158+
qca8075_4: ethernet-phy@4 {
159+
compatible = "ethernet-phy-ieee802.3-c22";
160+
reg = <4>;
161+
};
162+
};
163+
};
164+
165+
&switch {
166+
status = "okay";
167+
168+
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>;
169+
switch_wan_bmp = <ESS_PORT5>;
170+
switch_mac_mode = <MAC_MODE_PSGMII>;
171+
172+
qcom,port_phyinfo {
173+
port@2 {
174+
port_id = <2>;
175+
phy_address = <1>;
176+
};
177+
port@3 {
178+
port_id = <3>;
179+
phy_address = <2>;
180+
};
181+
port@4 {
182+
port_id = <4>;
183+
phy_address = <3>;
184+
};
185+
port@5 {
186+
port_id = <5>;
187+
phy_address = <4>;
188+
};
189+
};
190+
};
191+
192+
&edma {
193+
status = "okay";
194+
};
195+
196+
&dp2 {
197+
status = "okay";
198+
phy-handle = <&qca8075_1>;
199+
label = "lan1";
200+
};
201+
202+
&dp3 {
203+
status = "okay";
204+
phy-handle = <&qca8075_2>;
205+
label = "lan2";
206+
};
207+
208+
&dp4 {
209+
status = "okay";
210+
phy-handle = <&qca8075_3>;
211+
label = "lan3";
212+
};
213+
214+
&dp5 {
215+
status = "okay";
216+
phy-handle = <&qca8075_4>;
217+
label = "wan";
218+
};
219+
220+
&wifi {
221+
status = "okay";
222+
223+
qcom,ath11k-calibration-variant = "JDC-RE-SS-01";
224+
qcom,ath11k-fw-memory-mode = <1>;
225+
};

target/linux/qualcommax/image/ipq60xx.mk

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,18 @@ define Device/glinet_gl-axt1800
7676
endef
7777
TARGET_DEVICES += glinet_gl-axt1800
7878

79+
define Device/jdcloud_re-ss-01
80+
$(call Device/FitImage)
81+
DEVICE_VENDOR := JDCloud
82+
DEVICE_MODEL := RE-SS-01
83+
SOC := ipq6000
84+
BLOCKSIZE := 64k
85+
KERNEL_SIZE := 6144k
86+
DEVICE_DTS_CONFIG := config@cp03-c2
87+
DEVICE_PACKAGES := ipq-wifi-jdcloud_re-ss-01
88+
endef
89+
TARGET_DEVICES += jdcloud_re-ss-01
90+
7991
define Device/linksys_mr
8092
$(call Device/FitImage)
8193
DEVICE_VENDOR := Linksys

target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@ ipq60xx_setup_interfaces()
2727
yuncore,fap650)
2828
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
2929
;;
30-
netgear,wax214)
31-
ucidef_set_interfaces_lan_wan "lan"
32-
;;
30+
jdcloud,re-ss-01|\
3331
qihoo,360v6)
3432
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
3533
;;
34+
netgear,wax214)
35+
ucidef_set_interfaces_lan_wan "lan"
36+
;;
3637
netgear,wax610|\
3738
netgear,wax610y|\
3839
tplink,eap610-outdoor|\

target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ case "$FIRMWARE" in
3030
ath11k_patch_mac $(macaddr_add $label_mac 2) 1
3131
ath11k_set_macflag
3232
;;
33+
jdcloud,re-ss-01)
34+
caldata_extract_mmc "0:ART" 0x1000 0x10000
35+
;;
3336
linksys,mr7350|\
3437
linksys,mr7500)
3538
caldata_extract "0:art" 0x1000 0x10000

target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,18 @@ platform_do_upgrade() {
166166
remove_oem_ubi_volume ubi_rootfs
167167
nand_do_upgrade "$1"
168168
;;
169+
jdcloud,re-ss-01)
170+
local cfgpart=$(find_mmc_part "0:BOOTCONFIG")
171+
part_num="$(hexdump -e '1/1 "%01x|"' -n 1 -s 148 -C $cfgpart | cut -f 1 -d "|" | head -n1)"
172+
if [ "$part_num" -eq "1" ]; then
173+
CI_KERNPART="0:HLOS_1"
174+
CI_ROOTPART="rootfs_1"
175+
else
176+
CI_KERNPART="0:HLOS"
177+
CI_ROOTPART="rootfs"
178+
fi
179+
emmc_do_upgrade "$1"
180+
;;
169181
netgear,wax610|\
170182
netgear,wax610y)
171183
remove_oem_ubi_volume wifi_fw

0 commit comments

Comments
 (0)