From b60c244d9322f0e5fae27a06a4bff7f8425c2eae Mon Sep 17 00:00:00 2001 From: Jesse Wu Date: Wed, 23 Jul 2025 15:48:11 +0800 Subject: [PATCH] qca-wifi-7: add support for EMPLUS WAP7635 Signed-off-by: Jesse Wu --- feeds/qca-wifi-7/ath12k-wifi/Makefile | 13 + .../ath12k-wifi/board-2.bin.wap7635.IPQ5332 | Bin 0 -> 89292 bytes .../ath12k-wifi/board-2.bin.wap7635.QCN6274 | Bin 0 -> 187596 bytes .../ipq53xx/base-files/etc/board.d/01_leds | 5 + .../ipq53xx/base-files/etc/board.d/02_network | 2 + .../etc/hotplug.d/firmware/10-ath12k-caldata | 2 + .../base-files/lib/upgrade/platform.sh | 3 +- .../ipq53xx/dts/ipq5332-emplus-wap7635.dts | 413 ++++++++++++++++++ feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk | 13 + profiles/emplus_wap7635.yml | 22 + 10 files changed, 472 insertions(+), 1 deletion(-) create mode 100644 feeds/qca-wifi-7/ath12k-wifi/board-2.bin.wap7635.IPQ5332 create mode 100644 feeds/qca-wifi-7/ath12k-wifi/board-2.bin.wap7635.QCN6274 create mode 100644 feeds/qca-wifi-7/ipq53xx/dts/ipq5332-emplus-wap7635.dts create mode 100644 profiles/emplus_wap7635.yml diff --git a/feeds/qca-wifi-7/ath12k-wifi/Makefile b/feeds/qca-wifi-7/ath12k-wifi/Makefile index 96a0542a1..2bbd506e5 100755 --- a/feeds/qca-wifi-7/ath12k-wifi/Makefile +++ b/feeds/qca-wifi-7/ath12k-wifi/Makefile @@ -43,6 +43,11 @@ $(call Package/ath12k-wifi-default) TITLE:=board-2.bin for EAP105 endef +define Package/ath12k-wifi-emplus-wap7635 +$(call Package/ath12k-wifi-default) + TITLE:=board-2.bin for WAP7635 +endef + define Package/ath12k-wifi-sonicfi-rap7110c-341x $(call Package/ath12k-wifi-default) TITLE:=board-2.bin for RAP7710c_341x @@ -107,6 +112,13 @@ define Package/ath12k-wifi-edgecore-eap105/install $(INSTALL_DATA) ./board-2.bin.eap105.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin endef +define Package/ath12k-wifi-emplus-wap7635/install + $(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ + $(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/ + $(INSTALL_DATA) ./board-2.bin.wap7635.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin + $(INSTALL_DATA) ./board-2.bin.wap7635.QCN6274 $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin +endef + define Package/ath12k-wifi-sonicfi-rap7110c-341x/install $(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/ $(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ @@ -188,6 +200,7 @@ endef $(eval $(call BuildPackage,ath12k-wifi-cig-wf189)) $(eval $(call BuildPackage,ath12k-wifi-edgecore-eap105)) +$(eval $(call BuildPackage,ath12k-wifi-emplus-wap7635)) $(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap7110c-341x)) $(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap750e-h)) $(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap750e-s)) diff --git a/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.wap7635.IPQ5332 b/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.wap7635.IPQ5332 new file mode 100644 index 0000000000000000000000000000000000000000..9a306701cc7a47d2b2583177c1023c22e66dfc9f GIT binary patch literal 89292 zcmeHQ32+?Mnf|(aB#mTQ_i5R(EX%fRY$D6XG1$hM(J_*xk!78>aDp)g>|iHg4zpZ7 zHtez#l}&1?gdF8Kc#FzXIf!#nsjY+@%Z9|{AS@&y2}cMCi<3Yg2}>Ze-~YP%b&q6^ zWa9+eyr*B&{l52K?|W~0x_i2N*0shK#RfYUH+L_JuZ{J$VaJXgU|If(yaIFhzxkT0 zR$a7p^TI24Y+H2k)@@fT+O}m?ld5fg&qX`8NVU0{c9s~>&cbz$tjhY(&343Es%p;e zlBL6t*Aex)UcGKmucPYq0;Pu%E*^1L)$69v`dfO{f~7c~fP`#m-&YsiXV*pdDBa0e zDMj;gnloVIcGZJ>>{Fv74i;V{nat$BY!s{qZ zE|y3=l4mbr`$0^>K`Y-nXiv2dItA9jNWT3M6yl>O!iP|dJCTKr)El-+tdBXR*057z zZM4hmVY~bkVcjFqEZ))#G^c8dt-Y!=r>drSt9E57&s()pslCX{%ZXTfmj|nMZOS)O z3dO|*Q=)t6tk!m&*{Oyy-&v}*z*}uj)lAi^wNb~@EgKh&4NZQuy?Yrg%QLg9QYnA6 zAyw(G7NjhHHI=fxRV!8Lr><5l>#u)#W$#;hxX-xG&ze=tJ)Wa<%if+_0egRL88_a@ zNA%j<5=3vw<=P!wGsQ4q7%&VN1`Gp+0mFb{z%XDKFbo(53GHFkl!k3>XFs z1BL;^fMLKeU>GnA7zPXjh5^HXVZbn87%&VN1`Gp+0mFb{z%X!%F>thtV&z_ltWzvc zla67)Fkl!k3>XFs11HLWdza*iS{u7FfPvkoe6h@}uV=tKGhHwY7zPXjh5^HXVZbn8 z7%&VN1`Gp+0mFb{z%XDKFbo(53GHFkl!k3>XFs1BL;^fMLKeU>GnA7zW+| z0}(7dF6%7xxHkhF<@zf=9Gf=@e2d2R=U>JByFp!6r-xB>C+sP?dpF0-w z>$geEov^$uEZ6dIhll+*^h2E6+K;tGV0*Q~l$m)k z44f7W-0$pL{S60^`<7{dVzw^k-yH$OmbLpkotp69jrs^wJUv}xUtasy6s{TdR zAHb8&eXB=Uf70nheSJOacdWiZ)wg5Uu1eOIt=^#O-@)O-`K+J6BBAQvh}75HtS`2P zRQ>zsU$^VetlxrBRli~NLx+#BKH$|qy}G{s>C=K!lcZt5Fkl!s6Bx+H7IkcCeelKO z?@nQ%I(&T*yLmh2?)kN#1SQH}W_8O8V+w!va!d)Vf;IZis^t$^5-BWnik;#Yyf%Ls zsD{@jb3`51H|vH0!@%E~fvGrB__vN>{2K-g1BL;^fMLKeU>GnA7zPXjh5^HXVZbo( z_hp~}ohqQS+{v?wQvBwWrwHBu!qm9G%()d}xvNkSajb%z<2u1tg!h(Z_HJ4Y1BL;^ zfMLKeU>GnA7zPXjh5^HXVZbn87%&VN1`Gp+0mHx>W1!eShj{{SO1%3A`@VSs#xyC# z#uGD~q*WQ*Q>@nBzZ6y@( zek?@+US|&9oMa9UF$dw{h0Ih@BFUSba4K8_sxu@D~o9R5TeCY!^(n1+96 z4tqj5yv!UPJdPYbM|+u*H;u{RJCo!=a<~(fDu?a#v4TAO@i=lgX>UT~$S`0SIO7=j z=#9Xp%YpOO0}Wk3*^;Aoao=@7*B0PxK6YYy9H>}vbiMubcd_`}0L;zc?_aJ5dM*JL z4+FJrK$UxA^Ejv5wgan2fh7Y#V>k0VXPk-xK6Vo@vJF_yxb+F<=Y0)7R{LE$={Gj^R%@Sw%hJq?Y}yJa4Qgw=VufPx8y;PdHi4UE8^9Tz^%^@VAZr&Zoa-`kTl8 zmLDU(i^)rj{^rr&Oy*a;;^_Gq)G+X7GO#^&5BJzVnX7YnK|QWURp-u|N0~QIx0w~g zfMLKeU>JB)8K}Zab;87nWM$_>bMvO;Pc0}cDk&|msI01iN|F@pw5K)jYE>56wJ3*oq`J@$AMf+=dU~AU?%27GJ@)a2OBcF+7eZaRe{& z?9O4_%VXc`sks!tPu)N6i8cqebTn2grt0eI7Sz?vB5DLjjsO5tB+^f((~1_XEXth`j~3TbUsg=)1geqC)K=vqq)AyGuGk% zn^>2>?9|c!2Cx9({{^he-=|YY|2rou{qLi;`}aokK9>C#Q(sK&-;*o5MF2d8YS#%c5cyzT@-;^o_Ya<*nsr>eLCh9Rq^*Daa{<=C7$E`ub1U+>- zcf9>wev){Wv2gp^dd$8`hB6wWIZ=;mCN;W14)tVCWgcBuZ=#rz-(=%XE-JsJn6Rf3 z^?2g?b1Igx&%(24PSod$N%lB@k~~X)&z)dSNq_Su8P^?;iD%Yi=hbBU`>HdAXHyVa z#(ux*yv*mJO4j4cpPeYCQ15l;+0gOBc)cuc|A6P{hyNLh&Fvo|OE4XouPCw^l^T)E zQTcp6`g`4Z&XNBNVcFLTHuqqNv#LpQJw|_RdX&f$#TAXmGe-2XiLk#|!t-RWX4a1Q z{pDC>D8jRiBNOsGMQu;(*%#_&C{Z;I@;X6}BS)N{J4Yt$^XpC)&j(J}TgJ=c82m0{ zZjyEszjPjCZVyhNDN!p_Uov!-O^k|(ql(_ooo_i$@;|e`C}K$PTB-#Z=9GBI;`qBW zEAx1~?!4%H-?`6unE#m~%RFu1l|z5dsKx906w8_4YZ52QKVf+yrnxO3&-MJz$~d#4 zYQD>y&dj#-SNb|pf1Q(Z{F{kU(`Fbj3>XH4f!W@*^6IM>K6Bn*wz&oV@@Q-|VAIjy zlZwsZ)x@WInaj_o$&`86s?_T0#%rH!tP!_cSe(sXUCfMLKeU>GnA7zPXjh5^HXVZbn87%&VN1`Gp+0mFb{z%XDKFbo(53GHFkl!k3>XFs1BL;^fMMWFWk4=`yJCymJGpFX^EFqkx@ha>g;(y_w&>!m+pbu& zZOf`ARoncYi*|02YIF0B9XrHsIqjZZ9l_iAc(M+WM*p(&S9smM9a|4dW0qW8&k|L7 zJ&5%Ldimhv-r7b*v~3Ze|Ct*b07cuD(bkT&fzl|q2uQiZmbhIa+IBjghZReJqHXK= zJkYFIKPcLE3F7pZ1Vv-z^k>CJK+#wOu0eim2o#Mqs$2#U8w{|SSVe!MplH2?l1qF5 z6rD>GHo%T|f}-`B(GSGiM07uv@(w@5<02ZnLimes5Fys0I9M*Z#M?p9{sx%~;-ezk zb|s!;E=f>yE-lL6AmY*w<&8tZoDp9u(&*8Q4y6}EJQnD6^0~Wqd;}C7w+FvPPP`u! z9b=R7*Nb>>;BSk{Ie|FG$REpL=Xv_;07ctwXAH!vOD^4=A{x6+u-2rA#%{!q zP}CX&MPjI@!`v$4(Y*l_9piS%ueC#@(Z2-r4)HhGCZhe_iQl8NwFeY!`!QTi+g=f^ zcbCkU*7cz1zTHFavs%}JqHXWPP876ugQBtjWG=<6{h(-Uk0tqaiRkh8n&j8nFQVg? z+84rZ9RWqh{TB7?)(xO&?7IpZMQdoD{y?y{Zcwz|BPilzNQ&qfkFpFo_`<%pWZwE!k{WUSP4~l5p-w|^|LD70;g0;1SqOm%Tubt=wMf1`?Jtxrxiq>1G{PiOd%DIUc5_8Mfamc{H}R)r#uweo(aSe&#Z@dju4X-9_81o){<^`;_F|GYpEx?v^>(69+}dxQBY^ z84%IA9I_gTZ4lAemz2LQ^n~W_eF_^yPl%VVC~OElp|Sib<2uQ;py;^s$Q6>^B09zc zl1p+#L}TBvs$nNLfTH{HJ&TW4O%97_y+XZyk~{H@va@ zg^JscWN5qlq|zHgGSrXH%C=;~ASl}Q8EXg1lj}jzSVH1-GKPZ1~NXloA7x#$5 z_#8EEV}0xe8KYz`D4MI6RDSJ9%DnPE&tE3yBnLpzwy$t|WhY~xXl$$OgCvt8+BRbU z3U+S{6dfbq{s*A9Pekh#algs#?EyvmD-kT#3yQ|3E4^0qhWfF<=I3DVC@4C{GMnSp zn-I}4+H7vGl6|0Py|eABsMjT;`8!Yf8$xeryLP_K?NDzAC_0z8%4IEjL+>{Twl)ch z)>~s=%g=yrP;}fb8MnR>5gm7}{VcJVh{lF(es=dIL^QTuVH?oLdFl->HWJI~YX?Qg z*kqs2xSgQrT((MneLbLPY`ek+(HEL)*9upC{h(-n*W2@9uZw}Av75!Vza13qZ=b@} zqCdpTKib^4?H>Y#dhUMbKiS+j>mL!({kWaBi1&!-aeE&zXP^@l9pm4)uVQugf}*hx z3f9vKipD-9{*oOc+TTYczrG|WT5rGT4Y!JDy`9`{OdS~jMeE%qwgX8}Gk8|_Kxo_f0CTZNW1wh%kBDCT04O@{Gs?Cf1EJ4=_w$L1c274b+V(d}Zw&^xkEFLH z3TwweXdb*QSZgOJT5mu1_3XhBP_)0evzyo`C>ncBI2h~%MPqPyJUEyDMf=N_eg45g zP_$l|>^lzjis-Sd;#k^){h(;u>9oaQtB4+tI>Ck#A{uLO9winNp+9%-7CAQ}8fynd z$30IzlM``JG}h@x}wV@3nI_HhjkD*Z!jWuwtS;Ir1Xxn!> z^~Bmi(S5t$-p%>kE28_+@9;f6+y#oZ-N?@wXE*_hw%snDmm?h_I_@sPHnfXq>}GO+ z(WHpR4s*;gIwGR6Tdk*1v8E3ciJ_j3@Y%wrfHjNHQJD8Ra|qlQXibRdoWCH)Z>?=2 z8mr=Y0mRmd=ooq6r&Vm72%Wg)u;|6th-ke^nUnE#py>Xtkr~c!g??e`aJr*aGw|eMeDsP{TN&$ zqGLoHe(n!;gQDkiRK54tVlXr}YGm#XCPlRE&us3$w0DA{WBBvNEKh$1xHV9RXhq(0 z){0@NdYudN%$WPDRP}I=^3Rj)2g?dLN^dpXPqq^8VJ@Y7CWVyQ$X4xTd_J+13goC| zHF6dH4D!_SSxixTCRdT1CGDkfD*Oj^ET9S4xhUrWiHB8y%FVV z$tRGg<$P4Co8l@N70~`BbcL>8!%TbufROD+<|#2?ytSg_LFE- z@vp>uh5rf*l-@6KmRdfIg$mz?MJoP>akd(eTXD9kKZdudpIQ@*i-P(&O_+ zy(dkYr6SVsF~NLrSu(GNffHe1Gk;-4c9d&9W53>@>xWdk|6KXaxo$nsck7iQebM#x z@5%jYZW&tOw|i=4agrD~yY%K##dnMAu*a*<;#V$G?k;^gt-ZNyUs)gVVz1q=S2ihi z`1P_e_1ZD|Rb%QU>H78WAxw$Hb3ALPGT*-hRDdkDH&b@B6!~;>)xrAD(}=9?WO2-S+3B)YbO1$@O}>(Adl`S$*J_;r6g{rap;>Hhus;J5qlr^_mykp9>O zx__!3;^(Eb`FL5yOPt@qe3Clt)AXet_*3or{qO0A`1R~{e5ps__wT0_`IYjkGk*V` zU_2QQpPwfxaw;VspC7Mok7?K2_ln9nY5wXf7goxFmhZor+ph!U!>{iwm+eCkPrv`X zeEoXBuiKvnubrl*7zPXjhJi^jFsHJ*x`k&5ty(@W+AA7s2#%UGRvi2giHF%%)lslo z?{pGE2X5p3|GE$8&#EwZ~P34x#$y<{Zw? z)eFZ6EXGHFmSRMC<3yBJ#p8oi>0G-ddPAwJ<*|CxMtfC z_W}|R70j~LB@G?|{+5u~y4R)npo;~^c!Kwdo|A67Nig>ZZMkO38OcCldasHsJKKSC z)<_6;v7!ZIu`J}&b#1vqYl@zQ^toFEn-@D}hfN`R{9UZNxAg|Fi)GUv@0sxmF9 zUAH<=Q?|rrEV<0r0`CyBdF560nvj~ps5d(dN{oo)98z?#(zC-@6EEv>th_nr1R>DG zOT26=GA#rVvx!Bgr(yi|I$}j?V;2T!ldZ66=MIOlEWY`3=e>Q$&Z~U1$D$4hko4DwT(>UeV@8Ckt^Gp8nO&xth!jMal2u2yAkRH zn_O%tQ1USH@~$xG@|RV!J_HsCSC|oEp4*%(j)zmSsAF@W=#EFxjPrRLh+mpy9#~W6 zF2B@A{G20mlH1ZThhwxffUt?%FDFt~zbS;d^CfTohA~(c%4asM-KbH~%RFInSXW;Y?y$>C-kd?L1zz1ip6$?yAhxye@aZp+^t<@R99dwf*%JWOw3{J8PZv~=HFSvAYv z>09c#F>TlQ_sq0wuM70dnqj~&U>GnA7zPXjC(Z!xMzC6}+;I+w+x)(%dTfKMAAAqz zw>K$2?k{fnm@HkqGz_WrKI$I`e~IR4xOniLsBh@{Dfg>->Ed#wNP5|$@(I4*^IMBl zzpS)l0coQ?`-o!L;cnc}7j&M18`r(}!1p0b7gs;*9)>;KPQ#?aJUK4zy(QsB z*H7pRQ?Jp*#~cu{twr%%8Fr!8U3@&xZrt>94r1Wq>E{>(cjFexYFcsiqiL8_T>bR( z7lKPZE!Oz)b@B1z+o$wrh-q4J@wCIbw02W53>XFs1BL;^fMLKeaOyD-?8C|VcsUa( zXK(#tBg&oiC|?MB#X*ESR1v-e7|-W%=P{cvOMEq+`;_){f7$9j*?jJ>2DUk{xP#BL z=%Kh#b&*~HcRT~VT;Ae5Hou}03)9BLC`KW75DWPd*p~3>K#5Ttijk-89xLU+LZCMV z<=n|G=S#4UoR0`Oi0~!gWh$>F7hb})1zIogSBfget*i{kErZ3Is2x82Deza0Djo|| zR@Q{D3QXq?=XAaVxm2TeCa)UjOTe=x+^iS|3A)m}4rAVIB z!&2-$Zm7h2K1eC%E4Gt<8 literal 0 HcmV?d00001 diff --git a/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.wap7635.QCN6274 b/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.wap7635.QCN6274 new file mode 100644 index 0000000000000000000000000000000000000000..c4fca0a9f1963bb04b03c5504730f254b1743fc6 GIT binary patch literal 187596 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 +#include +#include +#include "ipq5332.dtsi" +#include "ipq5332-default-memory.dtsi" + +/ { + model = "Emplus WAP7635"; + compatible = "emplus,wap7635", "qcom,ipq5332-ap-mi01.6", "qcom,ipq5332"; + + aliases { + serial0 = &blsp1_uart0; /*console*/ + ethernet0 = "/soc/dp1"; + + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + stdout-path = "serial0"; + }; + + soc@0 { + mdio:mdio@90000 { + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 51 GPIO_ACTIVE_LOW>; + phyaddr_fixup = <0xC90F018>; + uniphyaddr_fixup = <0xC90F014>; + mdio_clk_fixup; /* MDIO clock sequence fix up flag */ + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <24>; + }; + }; + + ess-instance { + /*num_devices = <0x1>;*/ + ess-switch@3a000000 { + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x2>; /* lan port bitmap */ + switch_wan_bmp = <0>; /* wan port bitmap */ + switch_mac_mode = <0xf>; /* mac mode for uniphy instance0*/ + switch_mac_mode1 = <0xd>; /* mac mode for uniphy instance1*/ + switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ + + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <24>; + mdiobus = <&mdio>; + ethernet-phy-ieee802.3-c45; + }; + }; + }; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <1>; + reg = <0x3a500000 0x4000>; + qcom,mactype = <1>; + local-mac-address = [000000000000]; + mdio-bus = <&mdio>; + qcom,phy-mdio-addr = <24>; + qcom,link-poll = <1>; + phy-mode = "sgmii"; + /* phy-mode = "usxgmii"; */ + }; + + /* EDMA host driver configuration for the board */ + edma@3ab00000 { + qcom,txdesc-ring-start = <4>; /* Tx desc ring start ID */ + qcom,txdesc-rings = <12>; /* Total number of Tx desc rings to be provisioned */ + qcom,mht-txdesc-rings = <8>; /* Extra Tx desc rings to be provisioned for MHT SW ports */ + qcom,txcmpl-ring-start = <4>; /* Tx complete ring start ID */ + qcom,txcmpl-rings = <12>; /* Total number of Tx complete rings to be provisioned */ + qcom,mht-txcmpl-rings = <8>; /* Extra Tx complete rings to be provisioned for mht sw ports. */ + qcom,rxfill-ring-start = <4>; /* Rx fill ring start ID */ + qcom,rxfill-rings = <4>; /* Total number of Rx fill rings to be provisioned */ + qcom,rxdesc-ring-start = <12>; /* Rx desc ring start ID */ + qcom,rxdesc-rings = <4>; /* Total number of Rx desc rings to be provisioned */ + qcom,rx-page-mode = <0>; /* Rx fill ring page mode */ + qcom,tx-map-priority-level = <1>; /* Tx priority level per port */ + qcom,rx-map-priority-level = <1>; /* Rx priority level per core */ + qcom,ppeds-num = <2>; /* Number of PPEDS nodes */ + + /* PPE-DS node format: */ + qcom,ppeds-map = <1 1 1 1 32 8>, /* PPEDS Node#0 ring and queue map */ + <2 2 2 2 40 8>; /* PPEDS Node#1 ring and queue map */ + qcom,txdesc-map = <8 9 10 11>, /* Port0 per-core Tx ring map */ + <12 13 14 15>, /* MHT-Port1 per-core Tx ring map */ + <4 5 6 7>, /* MHT-Port2 per-core Tx ring map/packets from vp*/ + <16 17 18 19>, /* MHT-Port3 per-core Tx ring map */ + <20 21 22 23>; /* MHT-Port4 per-core Tx ring map */ + qcom,txdesc-fc-grp-map = <1 2 3 4 5>; /* Per GMAC flow control group map */ + qcom,rxfill-map = <4 5 6 7>; /* Per-core Rx fill ring map */ + qcom,rxdesc-map = <12 13 14 15>; /* Per-core Rx desc ring map */ + qcom,rx-queue-start = <0>; /* Rx queue start */ + qcom,rx-ring-queue-map = <0 8 16 24>, /* Priority 0 queues per-core Rx ring map */ + <1 9 17 25>, /* Priority 1 queues per-core Rx ring map */ + <2 10 18 26>, /* Priority 2 queues per-core Rx ring map */ + <3 11 19 27>, /* Priority 3 queues per-core Rx ring map */ + <4 12 20 28>, /* Priority 4 queues per-core Rx ring map */ + <5 13 21 29>, /* Priority 5 queues per-core Rx ring map */ + <6 14 22 30>, /* Priority 6 queues per-core Rx ring map */ + <7 15 23 31>; /* Priority 7 queues per-core Rx ring map */ + interrupts = <0 163 4>, /* Tx complete ring id #4 IRQ info */ + <0 164 4>, /* Tx complete ring id #5 IRQ info */ + <0 165 4>, /* Tx complete ring id #6 IRQ info */ + <0 166 4>, /* Tx complete ring id #7 IRQ info */ + <0 167 4>, /* Tx complete ring id #8 IRQ info */ + <0 168 4>, /* Tx complete ring id #9 IRQ info */ + <0 169 4>, /* Tx complete ring id #10 IRQ info */ + <0 170 4>, /* Tx complete ring id #11 IRQ info */ + <0 171 4>, /* Tx complete ring id #12 IRQ info */ + <0 172 4>, /* Tx complete ring id #13 IRQ info */ + <0 173 4>, /* Tx complete ring id #14 IRQ info */ + <0 174 4>, /* Tx complete ring id #15 IRQ info */ + <0 139 4>, /* Rx desc ring id #12 IRQ info */ + <0 140 4>, /* Rx desc ring id #13 IRQ info */ + <0 141 4>, /* Rx desc ring id #14 IRQ info */ + <0 142 4>, /* Rx desc ring id #15 IRQ info */ + <0 191 4>, /* Misc error IRQ info */ + <0 155 4>, /* RxFill ring id #4 IRQ info */ + <0 156 4>, /* RxFill ring id #5 IRQ info */ + <0 157 4>, /* RxFill ring id #6 IRQ info */ + <0 158 4>, /* RxFill ring id #7 IRQ info */ + <0 160 4>, /* PPEDS Node #1(TxComp ring id #1) TxComplete IRQ info */ + <0 128 4>, /* PPEDS Node #1(Rx Desc ring id #1) Rx Desc IRQ info */ + <0 152 4>, /* PPEDS Node #1(RxFill Desc ring id #1) Rx Fill IRQ info */ + <0 161 4>, /* PPEDS Node #2(TxComp ring id #2) TxComplete IRQ info */ + <0 129 4>, /* PPEDS Node #2(Rx Desc ring id #2) Rx Desc IRQ info */ + <0 153 4>, /* PPEDS Node #2(RxFill Desc ring id #2) Rx Fill IRQ info */ + <0 175 4>, /* MHT port Tx complete ring id #16 IRQ info */ + <0 176 4>, /* MHT port Tx complete ring id #17 IRQ info */ + <0 177 4>, /* MHT port Tx complete ring id #18 IRQ info */ + <0 178 4>, /* MHT port Tx complete ring id #19 IRQ info */ + <0 179 4>, /* MHT port Tx complete ring id #20 IRQ info */ + <0 180 4>, /* MHT port Tx complete ring id #21 IRQ info */ + <0 181 4>, /* MHT port Tx complete ring id #22 IRQ info */ + <0 182 4>; /* MHT port Tx complete ring id #23 IRQ info */ + }; + + leds { + compatible = "gpio-leds"; + + led_power_blue: led@34 { + label = "sys:blue"; + gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + led_power_green: led@35 { + label = "sys:green"; + gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + led_power_red: led@37 { + label = "sys:red"; + gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + button@1 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + wsi: wsi { + id = <0>; + num_chip = <2>; + status = "okay"; + chip_info = <0 1 1>, + <1 1 0>; + }; + }; +}; + +&wifi0 { + led-gpio = <&tlmm 36 GPIO_ACTIVE_HIGH>; + qcom,rproc = <&q6_wcss_pd1>; + qcom,rproc_rpd = <&q6v5_wcss>; + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; + memory-region = <&q6_region>; + qcom,wsi = <&wsi>; + qcom,wsi_index = <0>; + qcom,board_id = <0x16>; + status = "okay"; +}; + +&mhi_region1 { + status = "okay"; +}; + +&qcn9224_pcie1 { + status = "okay"; +}; + +/* QCN9224 5G+6G */ +&wifi4 { + hremote_node = <&qcn9224_pcie1>; + board_id = <0x1019>; + node_id = <0x1>; + status = "okay"; +}; + +&blsp1_uart0 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&sdhc { + bus-width = <4>; + max-frequency = <192000000>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + non-removable; + pinctrl-0 = <&sdc_default_state>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&sleep_clk { + clock-frequency = <32000>; +}; + +&xo { + clock-frequency = <24000000>; +}; + +&qpic_bam { + status = "okay"; +}; + +&qpic_nand { + pinctrl-0 = <&qspi_default_state>; + pinctrl-names = "default"; + status = "okay"; + + nandcs@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + nand-ecc-strength = <8>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + }; +}; + +&pcie1_phy_x2 { + status = "okay"; +}; + +&pcie1 { + pinctrl-0 = <&pcie1_default_state>; + pinctrl-names = "default"; + perst-gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + status = "okay"; + + pcie1_rp { + reg = <0 0 0 0 0>; + + qcom,mhi@1 { + reg = <0 0 0 0 0>; + boot-args = <0x2 0x4 0x34 0x3 0x0 0x0 /* MX Rail, GPIO52, Drive strength 0x3 */ + 0x4 0x4 0x18 0x3 0x0 0x0 /* RFA1p2 Rail, GPIO24, Drive strength 0x3 */ + 0x0 0x4 0x0 0x0 0x0 0x0>; /* End of arguments */ + memory-region = <&qcn9224_pcie1>; + qcom,wsi = <&wsi>; + qcom,wsi_index = <1>; + qcom,board_id = <0x1019>; + }; + }; +}; + +/* PINCTRL */ + +&tlmm { + sdc_default_state: sdc-default-state { + clk-pins { + pins = "gpio13"; + function = "sdc_clk"; + drive-strength = <8>; + bias-disable; + }; + + cmd-pins { + pins = "gpio12"; + function = "sdc_cmd"; + drive-strength = <8>; + bias-pull-up; + }; + + data-pins { + pins = "gpio8", "gpio9", "gpio10", "gpio11"; + function = "sdc_data"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + spi_0_data_clk_pins: spi-0-data-clk-state { + pins = "gpio14", "gpio15", "gpio16"; + function = "blsp0_spi"; + drive-strength = <2>; + bias-pull-down; + }; + + spi_0_cs_pins: spi-0-cs-state { + pins = "gpio17"; + function = "blsp0_spi"; + drive-strength = <2>; + bias-pull-up; + }; + + qspi_default_state: qspi-default-state { + qspi_clock { + pins = "gpio13"; + function = "qspi_clk"; + drive-strength = <8>; + bias-pull-down; + }; + + qspi_cs { + pins = "gpio12"; + function = "qspi_cs"; + drive-strength = <8>; + bias-pull-up; + }; + + qspi_data { + pins = "gpio8", "gpio9", "gpio10", "gpio11"; + function = "qspi_data"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + serial_1_pins: serial1-pinmux { /*ble*/ + pins = "gpio33", "gpio35"; + function = "blsp1_uart2"; + drive-strength = <8>; + bias-pull-up; + }; + + button_pins: button-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + pcie1_default_state: pcie1-default-state { + pins = "gpio45"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + output-low; + }; +}; + +&license_manager { + status = "okay"; +}; + +&usb3 { + qcom,multiplexed-phy; + status = "disabled"; +}; + +&hs_m31phy_0 { + status = "okay"; +}; + +&hs_m31phy_0 { + status = "okay"; +}; + +&ssuniphy_0 { + status = "okay"; +}; diff --git a/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk b/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk index 4cb3ff7b5..94444b713 100755 --- a/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk +++ b/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk @@ -52,6 +52,19 @@ define Device/edgecore_eap105 endef TARGET_DEVICES += edgecore_eap105 +define Device/emplus_wap7635 + DEVICE_TITLE := EMPLUS WAP7635 + DEVICE_DTS := ipq5332-emplus-wap7635 + DEVICE_DTS_DIR := ../dts + DEVICE_DTS_CONFIG := config@mi01.6 + IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi + IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata + IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand + IMAGE/nand-factory.ubi := append-ubi + DEVICE_PACKAGES := ath12k-wifi-emplus-wap7635 ath12k-firmware-qcn92xx ath12k-firmware-ipq5332 +endef +TARGET_DEVICES += emplus_wap7635 + define Device/sonicfi_rap7110c_341x DEVICE_TITLE := SONICFI RAP7110C-341X DEVICE_DTS := ipq5332-sonicfi-rap7110c-341x diff --git a/profiles/emplus_wap7635.yml b/profiles/emplus_wap7635.yml new file mode 100644 index 000000000..d59d41f6a --- /dev/null +++ b/profiles/emplus_wap7635.yml @@ -0,0 +1,22 @@ +--- +profile: emplus_wap7635 +target: ipq53xx +subtarget: generic +description: Build image for the EMPLUS WAP7635 +image: bin/targets/ipq53xx/generic/openwrt-ipq53xx-emplus_wap7635-squashfs-sysupgrade.tar +feeds: + - name: qca + path: ../../feeds/qca-wifi-7 +include: + - ucentral-ap +packages: + - ipq53xx + - qca-ssdk-shell + - iperf3 + - jq + - sysstat + - tree +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=0 + CONFIG_BUSYBOX_CUSTOM=y + CONFIG_BUSYBOX_CONFIG_PSTREE=y