mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
591 lines
18 KiB
Diff
591 lines
18 KiB
Diff
From 282fff50a526b7eef8f4ffbaf9c2a01c407920ad Mon Sep 17 00:00:00 2001
|
|
From: John Crispin <john@phrozen.org>
|
|
Date: Wed, 18 Aug 2021 15:49:56 +0200
|
|
Subject: [PATCH 43/43] ipq806x: add edgecore_ssw2ac2600 support
|
|
|
|
Signed-off-by: John Crispin <john@phrozen.org>
|
|
---
|
|
package/boot/uboot-envtools/files/ipq806x | 1 +
|
|
package/firmware/ipq-wifi/Makefile | 2 +
|
|
.../board-edgecore_ssw2ac2600.qca9984 | Bin 0 -> 24324 bytes
|
|
.../ipq806x/base-files/etc/board.d/01_leds | 1 +
|
|
.../ipq806x/base-files/etc/board.d/02_network | 1 +
|
|
.../etc/hotplug.d/firmware/11-ath10k-caldata | 2 +
|
|
.../ipq806x/base-files/etc/init.d/bootcount | 1 +
|
|
.../base-files/lib/upgrade/platform.sh | 1 +
|
|
.../arm/boot/dts/qcom-ipq8068-ssw2ac2600.dts | 341 ++++++++++++++++++
|
|
target/linux/ipq806x/image/Makefile | 14 +
|
|
.../0069-arm-boot-add-dts-files.patch | 3 +-
|
|
11 files changed, 366 insertions(+), 1 deletion(-)
|
|
create mode 100644 package/firmware/ipq-wifi/board-edgecore_ssw2ac2600.qca9984
|
|
create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-ssw2ac2600.dts
|
|
|
|
diff --git a/package/boot/uboot-envtools/files/ipq806x b/package/boot/uboot-envtools/files/ipq806x
|
|
index 96a4ee6450..1b49fd51d4 100644
|
|
--- a/package/boot/uboot-envtools/files/ipq806x
|
|
+++ b/package/boot/uboot-envtools/files/ipq806x
|
|
@@ -31,6 +31,7 @@ ubootenv_mtdinfo () {
|
|
}
|
|
|
|
case "$board" in
|
|
+edgecore,ssw2ac2600 |\
|
|
edgecore,ecw5410)
|
|
ubootenv_add_uci_config "/dev/mtd11" "0x0" "0x10000" "0x10000"
|
|
;;
|
|
diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile
|
|
index cd7bfc3c82..a400ac9470 100644
|
|
--- a/package/firmware/ipq-wifi/Makefile
|
|
+++ b/package/firmware/ipq-wifi/Makefile
|
|
@@ -33,6 +33,7 @@ ALLWIFIBOARDS:= \
|
|
devolo_magic-2-wifi-next \
|
|
dlink_dap2610 \
|
|
edgecore_ecw5410 \
|
|
+ edgecore_ssw2ac2600 \
|
|
edgecore_oap100 \
|
|
engenius_eap2200 \
|
|
engenius_emd1 \
|
|
@@ -122,6 +123,7 @@ $(eval $(call generate-ipq-wifi-package,cellc_rtl30vw, Cell C RTL30VW))
|
|
$(eval $(call generate-ipq-wifi-package,devolo_magic-2-wifi-next,devolo Magic 2 WiFi next))
|
|
$(eval $(call generate-ipq-wifi-package,dlink_dap2610,D-Link DAP-2610))
|
|
$(eval $(call generate-ipq-wifi-package,edgecore_ecw5410,Edgecore ECW5410))
|
|
+$(eval $(call generate-ipq-wifi-package,edgecore_ssw2ac2600,Edgecore SSW2AC2600))
|
|
$(eval $(call generate-ipq-wifi-package,edgecore_oap100,Edgecore OAP100))
|
|
$(eval $(call generate-ipq-wifi-package,engenius_eap2200,EnGenius EAP2200))
|
|
$(eval $(call generate-ipq-wifi-package,engenius_emd1,EnGenius EMD1))
|
|
diff --git a/package/firmware/ipq-wifi/board-edgecore_ssw2ac2600.qca9984 b/package/firmware/ipq-wifi/board-edgecore_ssw2ac2600.qca9984
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..2c1992001d86268e0483b9e53ed4b563e224ada4
|
|
GIT binary patch
|
|
literal 24324
|
|
zcmeHPeN+=y7JnH)J}sG$q9`3c1goeK0|h^#2wJq7)|7S8P(=c$7>lM6tOyq5L#PH#
|
|
zk)SOLQb{PbK*6Pj7KMm{+M}HAIX$P{t+nl*ZU5Mw_MEnR+HQ}{?0YkrWC%pV*W$<A
|
|
z%X{y>JNMrA-pycU-uvP6t6~?#Zd|)4eEovB4Y3KUL1tzqfTUW8Y5-zjNzLB3T$Q$K
|
|
zero2f1!)<(R10>cFAt}Bse2Xbbktomf4@S#OR*<w`P1n;x2Nq@Z(s2As!dNtE(%{D
|
|
z&E&xtfiPa+!rR$Ao***ufL4HFKmHZ0QUJ)_gdr1v0Wg(Bf*m3f0c8gwA|n3t(@#8!
|
|
za0(zvGKMKmLOYK4R)215qNPVd@k#Tj0PxI8TVqS#8$9Fe4qkuV9q`QzFY(c3G)L4D
|
|
zII0<n5xTgzI5|1-csy9s1VAU1gpn-9gEtqW$CdGDW=3FIq0P9Ae$=gxj}KrMUteFq
|
|
zE+Y)=4rzog_pLd)XRI{(Y34v0kvHeyNV>QzO-Pm;3Ch`U8Q?PT|IdJt8qx?-$yCb&
|
|
zRu}o9MFyajB?G|Nr;+IveG}PZkpVc!k^%S=)e9usOy^DCo9Oi|C6|)7|Da_6BFHMr
|
|
zCWrio>2p(}**lp`CSNq$0}x9}DZLAsY05O^Q}Sx^oavm&aDoTics$J64gNrZiF&tI
|
|
znv$;3e*DR2$mTP$6-N7z6vBd-@yjCP$N@5i^Z@Ok4l+X?pp~qGB@x;-kQEktt#*IX
|
|
z#*NbW#emOuGaE0S8#*gEH~{v3`TC3BOs2=7MC*|9w{LD^&dw+euJADu`lrzTUS7^-
|
|
z{~bG$5^3F?J3pFr0EFmN)Tr~x_e}4Z{%Ow9LUJM5PU-iN-<vj&QIrh822y60ECDQn
|
|
zs!4Uc3HDU^$D2?=7v{4lENsqff<TJ<PqHk6CEx^(#}cvlB4QD)%08H1{Oa+Or-uqa
|
|
zVx|it5(I=mB)B2KXAm<)Go*Zik54D!h&WN)jW~QAu}-v3x{_FluO-BUSR}q7#+MRH
|
|
zMN6gOL^!^fuuP)n?C_#xP7;Y_R-8EG^Km34K7`K?KKM*xrf8;g6|w4vRrq>hy=c8O
|
|
zf{6Gb0$)Zf6D^a{9|F6khN4qH;WfHtRj<}Gu}kO}NxC^hQ`dg+ruFS&u*CW`8CJY~
|
|
zrKh3haPAhx%B#kfbDAP$s%*tTZ%e%<SD7Sx>eJp1z3vrtl05o1NE)5?1o+h0aaNbB
|
|
zPLzwUUT$gDlql1n!{rveCQm7sMM4JybdbxVEDi&GEe2hYdW$@&r{D07Mx)#*i$$(F
|
|
zje5I0X5eZ|qwa`$n|uj!IEF^(=&jKgl_+=1R(D)Nl49%H<t<lgnsZAOJJ!axT-MdA
|
|
z^W=$(7f~Zry#^hOFz!)hx=hkxtf?z1fYS1gz8XVODGJhJtZ6JNQ)bHIEe<_K!&yzf
|
|
za+7Rf$5lg{=D0dj{xqCiqo!23O%~nLYtX|)Y>`Ep9kk$TZ_C@d!rT-^Oh-R-C|B=R
|
|
zJl}K0V9*q*74ju0bMUG{vC`u3>E({bnu4OO%9x(3FmACrMG@cA+tON7QM6YngIC{z
|
|
zSCf^LLwS`}JM3p;PszQm*vkxC&t-|74SO<|C3~4+>$xnkv%$%ZW&oqNu?Lwu_O3F>
|
|
z<$>)Sy^_``X_$M;_i%B?3+Ey#i6UIp*{f=Mwmz(UW^Ut!jCa=5JXtzDyQTk7*RyZ?
|
|
z7vt*su073?Qz0e3FBP2Mqz^ytpU2PWx|rRxp>|&BjQv%8$?vT&1ZV^YFZIWrc~ay1
|
|
zviHuK3mMH(y1*hlv$}I<W2819kH53_y0R-;AE?E1`>(ChhiRwh@?UJZvb8z-jeruL
|
|
zY*lmI>!HQdvOE(@uWjm_SL=6lYSvrV_Iwak7jO*EuIyfK2&<T$=e_$~<L1W5$|nv9
|
|
zG7F6ft)Z2|e6Nh+o)!Aw<NW=e+sodMtDapdRC#Ud>s@hbR*}z(UR&C(@4v9_?Z9%u
|
|
zfs;M)^|Q-`Szf8vt}HthRER4*<n<q9oC`0Xall(qcYR;CtS$VEu%M_z@<w3sV@i)r
|
|
zO}!bdq6)vfsc9#>Q(GmqGYTHt{lI?k+{C#Ia2WtDuI`>wy>Xw%r}@o%V(^O@)kE(K
|
|
zcOzFe4U<n}-2vI0YlmcFA~ZAv{>%yv3Y--b6daW3;$}Ic9LCQv6%TWA!2ssuJjK-s
|
|
zdSI?o&^DW^EBaD%b#<b?+wN^MO*{<`5Udfe!8Zt^#nE_-z>Oi0kXmu}{AG5{y!wx<
|
|
z9XbX&J)~&d#$a+L@J0NTs{nFa1qPTx_-*8G<okPGce(C@bY;bKS>X?WGvDY5K!r2X
|
|
zBWlRU0Mbjm2kX&wI{tds5Xeky)Y9=qo&zoe!^B?=<DVH6|2bd8zq;Ro%#4fL1Abb*
|
|
zmVa|9=7zbk<J0y+Z-2;a{T=WNWB|hcOOj04>x7XQ++Rd}FB4rZ!tKjn;hlkWXpOo%
|
|
zB#Cs5aLJ4g>3^pfN!FOVoSaE#n|R(XaR1aM9*<`NXycQa2Wr!ttn*{$vYfY$S7siU
|
|
zvF*a@Anyg)kO64M{tD$%P=clbda*)S@1f*IN`3{-TMzjxXn+hrJJya>fGWs{S}~;4
|
|
z04;VJ@?$(4G5}>*8Ro~sApbmsC^u^btsSEAwsUCE@iWp=IWOcP9>1ugk0jlap=rMf
|
|
z0BjGyZL^!Ut%#!eVRPn~rP;y3obKVt0d>eR2a#EVpYQ#o8~vTlc|PbFAX~kJ&d%vz
|
|
z^XbMubgp>{(wmT&b#+1-i;jsiQLS_{{KvJf{kpyO$=RVHlUeAKJNm4SKAn@wHg4XM
|
|
zlAfW_R-XP#oxZWDwY~G=rM~MoM}C2IjyJL=*9XQLQ0JghK^b!rN}Yj9<I0#*Q0n|s
|
|
zDlTJAKu4ZLyB-gJb|0AA;NhC6BWK3XB_{7UURB%B@_x@%d-B7T73*q*CL!)m_>26d
|
|
zLa^Gj8kZ7MkyN@GM4BRT2_X?lq><zHer+9fB$BV#7bgVq;&}WyL6kTOUm-|(1M$!p
|
|
z)P4wh3t`GIUxXncv*1r?a8MB3NeK?J>DuhE*mP}-ZMrtbHr-*SVo{9{cQ1Afci-a)
|
|
z&mo-hA@m*%6!sOYQULIn23trlMP7E{L-6`g+`ZR$;qGrx6JS+i#oe<)Q6k)Ui?P+g
|
|
zziJo>xPGX+MPtR?2LhVmB?|A)m<XxAbYOZhLb%08L;e}KKiq4h@&1g>-CG3XXBS`C
|
|
zXP3Ks554LMX{h$W)IgjYYu9z~8gBP?>#GZLk`ki2FB=*Q3zCv!V+Q(~8%~zKq<Cie
|
|
zz@=vW$&!~+o{^ya*>YXwNpSm8cYXEYoUI9qyRTFma`F>i2#@UVHPja#N=k~A^cyKj
|
|
zPUBKe=qfA0ZDaSF&|zD`(r#mQLr!5ra`=+|O9p*mVN&wq#RGi?L*Zd4QP`RjRl3T-
|
|
z^SeinJCeRff~d=nWR@IB%)M;j$u;_(oHVM`Csjlj1n%}p$~zN(bneSDGK9&+4I3)v
|
|
z9rD}dopees*M{f%XZXmE)&Kdm=)-}T!mZ_o=U-ctAFy}&_7hDnR7aKuWC_!ons!&O
|
|
zI1-XIJ-w?f=gnue0egJ5^`B2X8C4jv&u{0kcNDctj?FqaP5Ew9PVJhb^K$%^leS=P
|
|
z;4x)jtS4=7aO#GKkaBeE!`jISel1TildJWlZSaF#aH8`#oV1N;=@a5SkBWNdj@W|N
|
|
zr-wnfdz2mucMk<e23NgrwUPmewZoFcESW71u(0-QJ;crLr!n%Lo>QjKSFE`EJOBRI
|
|
zS6_aKfc{q8z5A~}e*fKf-$0!=e7+sdpB>*Sdw6|KJqn*Soq<PBH@xU8JASuXI4TW?
|
|
zyQfbV%r(T_&z?=mbKu4_eey6ay7|Mz8<}pnHFCIn`YrQ<^=0!B6dl<^VI%HonMxU*
|
|
ztqHHuz01bjBYBLl`%u<v#jxUVzb~WJJ(3Tx+@c-1UAQc9S+bJ>?$)rAm_h1?Axnc6
|
|
z#C5m~a2en-z-55T0GEMBI0Hj5@eJ(VZQRc6hmOI(?%l_2j0f!_EciQO-Hlwxc}Fn7
|
|
z6#q}Yz4h&_-jDzI=#P((PF6w}+WzL>zJScwqV|3w_@^F-2jT9I{C>;zmMg7eaQ6(h
|
|
zpTXRtb|Ti%gLOf6=XpW~K<%maoJ##=z!2E|&l55FC}KLaPY&ZcYB!20Os31daQ6s<
|
|
zP5oap(>aNF2y-x*_Z~Mkmx0O50K)ZS5ZAAI75?)+0l0p9czZ@anV5StHix^X&bmfh
|
|
zak%@@W{&f_Z!_S?nXx^rJzIa@E^v$!<8b#7Wo3ck+koY5x`XjpBg5?5doK7Nj2+EG
|
|
|
|
literal 0
|
|
HcmV?d00001
|
|
|
|
diff --git a/target/linux/ipq806x/base-files/etc/board.d/01_leds b/target/linux/ipq806x/base-files/etc/board.d/01_leds
|
|
index 74b94a29b4..05c63c817f 100755
|
|
--- a/target/linux/ipq806x/base-files/etc/board.d/01_leds
|
|
+++ b/target/linux/ipq806x/base-files/etc/board.d/01_leds
|
|
@@ -17,6 +17,7 @@ compex,wpq864)
|
|
ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1"
|
|
ucidef_set_led_usbport "pcie-usb" "PCIe USB" "green:usb-pcie" "usb3-port1"
|
|
;;
|
|
+edgecore,ssw2ac2600 |\
|
|
edgecore,ecw5410)
|
|
ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wlan2g" "phy1tpt"
|
|
ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wlan5g" "phy0tpt"
|
|
diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network
|
|
index 1a1cec51aa..146d42cb0a 100755
|
|
--- a/target/linux/ipq806x/base-files/etc/board.d/02_network
|
|
+++ b/target/linux/ipq806x/base-files/etc/board.d/02_network
|
|
@@ -27,6 +27,7 @@ tplink,vr2600v)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "6@eth1" "5:wan" "0@eth0"
|
|
;;
|
|
+edgecore,ssw2ac2600 |\
|
|
edgecore,ecw5410)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
if [ -b "$(find_mtd_part 0:art)" ]; then
|
|
diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
|
index b9d0fec25e..ae8feba798 100644
|
|
--- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
|
+++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
|
@@ -74,6 +74,7 @@ case "$FIRMWARE" in
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_binary ART 0x18)
|
|
;;
|
|
+ edgecore,ssw2ac2600 |\
|
|
edgecore,ecw5410)
|
|
if [ -b "$(find_mtd_part 0:art)" ]; then
|
|
caldata_extract "0:art" 0x1000 0x2f20
|
|
@@ -121,6 +122,7 @@ case "$FIRMWARE" in
|
|
;;
|
|
"ath10k/pre-cal-pci-0002:01:00.0.bin")
|
|
case $board in
|
|
+ edgecore,ssw2ac2600 |\
|
|
edgecore,ecw5410)
|
|
if [ -b "$(find_mtd_part 0:art)" ]; then
|
|
caldata_extract "0:art" 0x5000 0x2f20
|
|
diff --git a/target/linux/ipq806x/base-files/etc/init.d/bootcount b/target/linux/ipq806x/base-files/etc/init.d/bootcount
|
|
index cb32a4ed35..f555e1af9a 100755
|
|
--- a/target/linux/ipq806x/base-files/etc/init.d/bootcount
|
|
+++ b/target/linux/ipq806x/base-files/etc/init.d/bootcount
|
|
@@ -9,6 +9,7 @@ boot() {
|
|
asrock,g10)
|
|
asrock_bootconfig_mangle "bootcheck" && reboot
|
|
;;
|
|
+ edgecore,ssw2ac2600|\
|
|
edgecore,ecw5410)
|
|
fw_setenv bootcount 0
|
|
;;
|
|
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
|
|
index a5e18201df..f3ac923ccb 100644
|
|
--- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
|
|
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
|
|
@@ -29,6 +29,7 @@ platform_do_upgrade() {
|
|
CI_ROOTPART="ubi_rootfs"
|
|
nand_do_upgrade "$1"
|
|
;;
|
|
+ edgecore,ssw2ac2600|\
|
|
edgecore,ecw5410)
|
|
part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
|
|
if [ "$part" = "rootfs1" ]; then
|
|
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-ssw2ac2600.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-ssw2ac2600.dts
|
|
new file mode 100644
|
|
index 0000000000..b5608c2f94
|
|
--- /dev/null
|
|
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-ssw2ac2600.dts
|
|
@@ -0,0 +1,341 @@
|
|
+#include "qcom-ipq8064-v2.0.dtsi"
|
|
+
|
|
+#include <dt-bindings/input/input.h>
|
|
+#include <dt-bindings/soc/qcom,tcsr.h>
|
|
+
|
|
+/ {
|
|
+ model = "Edgecore SSW2AC2600";
|
|
+ compatible = "edgecore,ssw2ac2600", "qcom,ipq8064";
|
|
+
|
|
+ reserved-memory {
|
|
+ nss@40000000 {
|
|
+ reg = <0x40000000 0x1000000>;
|
|
+ no-map;
|
|
+ };
|
|
+
|
|
+ smem: smem@41000000 {
|
|
+ reg = <0x41000000 0x200000>;
|
|
+ no-map;
|
|
+ };
|
|
+
|
|
+ wifi_dump@44000000 {
|
|
+ reg = <0x44000000 0x600000>;
|
|
+ no-map;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cpus {
|
|
+ idle-states {
|
|
+ CPU_SPC: spc {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ aliases {
|
|
+ serial1 = &gsbi1_serial;
|
|
+ mdio-gpio0 = &mdio0;
|
|
+ ethernet0 = &gmac3;
|
|
+ ethernet1 = &gmac2;
|
|
+
|
|
+ led-boot = &led_power_green;
|
|
+ led-failsafe = &led_power_red;
|
|
+ led-running = &led_power_green;
|
|
+ led-upgrade = &led_power_green;
|
|
+ };
|
|
+
|
|
+ chosen {
|
|
+ bootargs-append = " console=ttyMSM0,115200n8 root=/dev/ubiblock0_1";
|
|
+ };
|
|
+
|
|
+ keys {
|
|
+ compatible = "gpio-keys";
|
|
+ pinctrl-0 = <&button_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ reset {
|
|
+ label = "reset";
|
|
+ gpios = <&qcom_pinmux 25 GPIO_ACTIVE_LOW>;
|
|
+ linux,code = <KEY_RESTART>;
|
|
+ debounce-interval = <60>;
|
|
+ wakeup-source;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ leds {
|
|
+ compatible = "gpio-leds";
|
|
+ pinctrl-0 = <&led_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ led_power_green: power_green {
|
|
+ label = "green:power";
|
|
+ gpios = <&qcom_pinmux 16 GPIO_ACTIVE_HIGH>;
|
|
+ };
|
|
+
|
|
+ wlan2g_green {
|
|
+ label = "green:wlan2g";
|
|
+ gpios = <&qcom_pinmux 23 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+
|
|
+ wlan2g_yellow {
|
|
+ label = "yellow:wlan2g";
|
|
+ gpios = <&qcom_pinmux 24 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+
|
|
+ wlan5g_green {
|
|
+ label = "green:wlan5g";
|
|
+ gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+
|
|
+ led_power_red: power_red {
|
|
+ label = "red:power";
|
|
+ gpios = <&qcom_pinmux 28 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+
|
|
+ wlan5g_yellow {
|
|
+ label = "yellow:wlan5g";
|
|
+ gpios = <&qcom_pinmux 59 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+
|
|
+&qcom_pinmux {
|
|
+ spi_pins: spi_pins {
|
|
+ mux {
|
|
+ pins = "gpio18", "gpio19";
|
|
+ function = "gsbi5";
|
|
+ drive-strength = <10>;
|
|
+ bias-pull-down;
|
|
+ };
|
|
+
|
|
+ clk {
|
|
+ pins = "gpio21";
|
|
+ function = "gsbi5";
|
|
+ drive-strength = <12>;
|
|
+ bias-pull-down;
|
|
+ };
|
|
+
|
|
+ cs {
|
|
+ pins = "gpio20";
|
|
+ function = "gpio";
|
|
+ drive-strength = <10>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ led_pins: led_pins {
|
|
+ mux {
|
|
+ pins = "gpio16", "gpio23", "gpio24", "gpio26",
|
|
+ "gpio28", "gpio59";
|
|
+ function = "gpio";
|
|
+ drive-strength = <2>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ button_pins: button_pins {
|
|
+ mux {
|
|
+ pins = "gpio25";
|
|
+ function = "gpio";
|
|
+ drive-strength = <2>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ uart1_pins: uart1_pins {
|
|
+ mux {
|
|
+ pins = "gpio51", "gpio52", "gpio53", "gpio54";
|
|
+ function = "gsbi1";
|
|
+ drive-strength = <12>;
|
|
+ bias-none;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&gsbi1 {
|
|
+ qcom,mode = <GSBI_PROT_UART_W_FC>;
|
|
+ status = "okay";
|
|
+
|
|
+ serial@12450000 {
|
|
+ status = "okay";
|
|
+
|
|
+ pinctrl-0 = <&uart1_pins>;
|
|
+ pinctrl-names = "default";
|
|
+ };
|
|
+};
|
|
+
|
|
+&gsbi5 {
|
|
+ qcom,mode = <GSBI_PROT_SPI>;
|
|
+ status = "okay";
|
|
+
|
|
+ spi4: spi@1a280000 {
|
|
+ status = "okay";
|
|
+ spi-max-frequency = <50000000>;
|
|
+
|
|
+ pinctrl-0 = <&spi_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
|
|
+
|
|
+ m25p80@0 {
|
|
+ compatible = "jedec,spi-nor";
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <1>;
|
|
+ spi-max-frequency = <50000000>;
|
|
+ reg = <0>;
|
|
+
|
|
+ partitions {
|
|
+ compatible = "qcom,smem-part";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&hs_phy_0 { /* USB3 port 0 HS phy */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hs_phy_1 { /* USB3 port 1 HS phy */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ss_phy_0 { /* USB3 port 0 SS phy */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ss_phy_1 { /* USB3 port 1 SS phy */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb3_0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb3_1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pcie1 {
|
|
+ status = "okay";
|
|
+
|
|
+ /delete-property/ pinctrl-0;
|
|
+ /delete-property/ pinctrl-names;
|
|
+ /delete-property/ perst-gpios;
|
|
+
|
|
+ bridge@0,0 {
|
|
+ reg = <0x00000000 0 0 0 0>;
|
|
+ #address-cells = <3>;
|
|
+ #size-cells = <2>;
|
|
+ ranges;
|
|
+
|
|
+ wifi@1,0 {
|
|
+ compatible = "qcom,ath10k";
|
|
+ status = "okay";
|
|
+ reg = <0x00010000 0 0 0 0>;
|
|
+ qcom,ath10k-calibration-variant = "Edgecore-ECW5410-L";
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&pcie2 {
|
|
+ status = "okay";
|
|
+
|
|
+ /delete-property/ pinctrl-0;
|
|
+ /delete-property/ pinctrl-names;
|
|
+ /delete-property/ perst-gpios;
|
|
+
|
|
+ bridge@0,0 {
|
|
+ reg = <0x00000000 0 0 0 0>;
|
|
+ #address-cells = <3>;
|
|
+ #size-cells = <2>;
|
|
+ ranges;
|
|
+
|
|
+ wifi@1,0 {
|
|
+ compatible = "qcom,ath10k";
|
|
+ status = "okay";
|
|
+ reg = <0x00010000 0 0 0 0>;
|
|
+ qcom,ath10k-calibration-variant = "Edgecore-ECW5410-L";
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&nand_controller {
|
|
+ status = "okay";
|
|
+
|
|
+ pinctrl-0 = <&nand_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ nand@0 {
|
|
+ compatible = "qcom,nandcs";
|
|
+
|
|
+ reg = <0>;
|
|
+
|
|
+ nand-ecc-strength = <4>;
|
|
+ nand-bus-width = <8>;
|
|
+ nand-ecc-step-size = <512>;
|
|
+
|
|
+ partitions {
|
|
+ compatible = "fixed-partitions";
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <1>;
|
|
+
|
|
+ rootfs1@0 {
|
|
+ label = "rootfs1";
|
|
+ reg = <0x0000000 0x4000000>;
|
|
+ };
|
|
+
|
|
+ rootfs2@4000000 {
|
|
+ label = "rootfs2";
|
|
+ reg = <0x4000000 0x4000000>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&soc {
|
|
+ mdio1: mdio {
|
|
+ compatible = "virtual,mdio-gpio";
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ status = "okay";
|
|
+
|
|
+ pinctrl-0 = <&mdio0_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
|
|
+
|
|
+ phy0: ethernet-phy@0 {
|
|
+ reg = <0>;
|
|
+ };
|
|
+
|
|
+ phy1: ethernet-phy@1 {
|
|
+ reg = <1>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&gmac2 {
|
|
+ status = "okay";
|
|
+
|
|
+ qcom,id = <2>;
|
|
+ mdiobus = <&mdio0>;
|
|
+
|
|
+ phy-mode = "sgmii";
|
|
+ phy-handle = <&phy1>;
|
|
+};
|
|
+
|
|
+&gmac3 {
|
|
+ status = "okay";
|
|
+
|
|
+ qcom,id = <3>;
|
|
+ mdiobus = <&mdio1>;
|
|
+
|
|
+ phy-mode = "sgmii";
|
|
+ phy-handle = <&phy0>;
|
|
+};
|
|
+
|
|
+&adm_dma {
|
|
+ status = "okay";
|
|
+};
|
|
diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile
|
|
index 93e7ba3151..8c000075c6 100644
|
|
--- a/target/linux/ipq806x/image/Makefile
|
|
+++ b/target/linux/ipq806x/image/Makefile
|
|
@@ -157,6 +157,20 @@ define Device/edgecore_ecw5410
|
|
endef
|
|
TARGET_DEVICES += edgecore_ecw5410
|
|
|
|
+define Device/edgecore_ssw2ac2600
|
|
+ $(call Device/FitImage)
|
|
+ $(call Device/UbiFit)
|
|
+ DEVICE_VENDOR := Edgecore
|
|
+ DEVICE_MODEL := SSW2AC2600
|
|
+ SOC := qcom-ipq8068
|
|
+ BLOCKSIZE := 128k
|
|
+ PAGESIZE := 2048
|
|
+ DEVICE_DTS := qcom-ipq8068-ssw2ac2600
|
|
+ DEVICE_DTS_CONFIG := config@v2.0-ap160
|
|
+ DEVICE_PACKAGES := ath10k-firmware-qca9984-ct ipq-wifi-edgecore_ssw2ac2600
|
|
+endef
|
|
+TARGET_DEVICES += edgecore_ssw2ac2600
|
|
+
|
|
define Device/linksys_ea7500-v1
|
|
$(call Device/LegacyImage)
|
|
DEVICE_VENDOR := Linksys
|
|
diff --git a/target/linux/ipq806x/patches-5.4/0069-arm-boot-add-dts-files.patch b/target/linux/ipq806x/patches-5.4/0069-arm-boot-add-dts-files.patch
|
|
index b97d36fd7c..7cb1d9cc75 100644
|
|
--- a/target/linux/ipq806x/patches-5.4/0069-arm-boot-add-dts-files.patch
|
|
+++ b/target/linux/ipq806x/patches-5.4/0069-arm-boot-add-dts-files.patch
|
|
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
+++ b/arch/arm/boot/dts/Makefile
|
|
-@@ -842,7 +842,25 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
|
+@@ -842,7 +842,26 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
|
qcom-ipq4019-ap.dk04.1-c3.dtb \
|
|
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
|
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
|
@@ -33,6 +33,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|
+ qcom-ipq8065-r7800.dtb \
|
|
+ qcom-ipq8065-rt4230w-rev6.dtb \
|
|
+ qcom-ipq8068-ecw5410.dtb \
|
|
++ qcom-ipq8068-ssw2ac2600.dtb \
|
|
qcom-msm8660-surf.dtb \
|
|
qcom-msm8960-cdp.dtb \
|
|
qcom-msm8974-fairphone-fp2.dtb \
|
|
--
|
|
2.25.1
|
|
|