From 485c689408696319e8cef6d6ba37e306cdbcfcee Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 20 Oct 2021 07:52:23 +0200 Subject: [PATCH] ipq807x: add support for wf194c4 Signed-off-by: John Crispin --- .github/workflows/build-dev.yml | 2 +- feeds/wifi-ax/ath11k-wifi/Makefile | 2 + .../ath11k-wifi/board-cig-wf194c4.bin.IPQ8074 | Bin 0 -> 131072 bytes ...x-add-the-Qualcomm-AX-target-support.patch | 1269 ++++++++++++++++- patches/0100-maple.patch | 311 ---- profiles/cig_wf194c4.yml | 14 + 6 files changed, 1258 insertions(+), 340 deletions(-) create mode 100644 feeds/wifi-ax/ath11k-wifi/board-cig-wf194c4.bin.IPQ8074 delete mode 100644 patches/0100-maple.patch create mode 100644 profiles/cig_wf194c4.yml diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml index 2c180256b..6d8027868 100644 --- a/.github/workflows/build-dev.yml +++ b/.github/workflows/build-dev.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - target: ['cig_wf188n', 'cig_wf194c', 'cig_wf160d', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_ecs4100-12ph', 'edgecore_ecw5211', 'edgecore_ecw5410', 'edgecore_oap100', 'edgecore_ssw2ac2600', 'edgecore_spw2ac1200', 'edgecore_spw2ac1200-lan-poe', 'hfcl_ion4.yml', 'indio_um-305ac', 'linksys_ea6350-v4', 'linksys_e8450-ubi', 'linksys_ea8300', 'tp-link_ec420-g1', 'tplink_ex227', 'tplink_ex228', 'tplink_ex447', 'wallys_dr40x9' ] + target: ['cig_wf188n', 'cig_wf194c', 'cig_wf194c4', 'cig_wf160d', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_ecs4100-12ph', 'edgecore_ecw5211', 'edgecore_ecw5410', 'edgecore_oap100', 'edgecore_ssw2ac2600', 'edgecore_spw2ac1200', 'edgecore_spw2ac1200-lan-poe', 'hfcl_ion4.yml', 'indio_um-305ac', 'linksys_ea6350-v4', 'linksys_e8450-ubi', 'linksys_ea8300', 'tp-link_ec420-g1', 'tplink_ex227', 'tplink_ex228', 'tplink_ex447', 'wallys_dr40x9' ] steps: - uses: actions/checkout@v2 diff --git a/feeds/wifi-ax/ath11k-wifi/Makefile b/feeds/wifi-ax/ath11k-wifi/Makefile index 6c679ddfd..45a1a82d7 100644 --- a/feeds/wifi-ax/ath11k-wifi/Makefile +++ b/feeds/wifi-ax/ath11k-wifi/Makefile @@ -27,6 +27,7 @@ ALLWIFIBOARDS:= \ cig-wf188 \ cig-wf188n \ cig-wf194c \ + cig-wf194c4 \ edgecore-eap101 \ sercomm-wallaby \ edgecore-eap102 \ @@ -129,6 +130,7 @@ endef $(eval $(call generate-ath11k-wifi-package,cig-wf188,Cigtech WF188)) $(eval $(call generate-ath11k-wifi-package,cig-wf188n,Cigtech WF188n)) $(eval $(call generate-ath11k-wifi-package,cig-wf194c,Cigtech WF194c)) +$(eval $(call generate-ath11k-wifi-package,cig-wf194c4,Cigtech WF194c4)) $(eval $(call generate-ath11k-wifi-package,sercomm-wallaby,Sercomm Kiwi)) $(eval $(call generate-ath11k-wifi-package,edgecore-eap101,EdgeCore EAP101)) $(eval $(call generate-ath11k-wifi-package,edgecore-eap102,Edgecore EAP102)) diff --git a/feeds/wifi-ax/ath11k-wifi/board-cig-wf194c4.bin.IPQ8074 b/feeds/wifi-ax/ath11k-wifi/board-cig-wf194c4.bin.IPQ8074 new file mode 100644 index 0000000000000000000000000000000000000000..05d8c9eb4407dc3bf772442ed8ea697556639982 GIT binary patch literal 131072 zcmeHw33OD~ndV=wN~HyXgea-1K!BDiNjQ!hW6UCnMSwt{1)+Td#A1VOz%m9KW3w-2 z5vzp3j^hyGCCA6z?Kn>2(%+RM8-{Zr$CktyPoUEDOteM}encu9L->jM6teM}encqfm zh{NGF8IgF0VJ(py2o_s8mA)ep(Bx0L*6Y)Ic0WZ@dS>1rN3-UCQKaq(<73Spi1h1G z4GDT^zmIG`N*w(htZ=8`>6GLsNCpd!KGo}X%ih11zrFll_x^1DKgzEzf7JV0E`&nw zC2uU@@Fh5J=Xm3u$G+l{%$}Y;w%GMcI2@l~8HvQ}ml_$lF5qypIGj+ZsIF^jYhS;y z^K|!x7caj2;v91<9lJp#s6n&DzE#q@o>)57=VXHX=miRQ>^yqm(i>MpK_u%# zkqPgK_+An5><1ogB1t&Zil2ac#Q$|QW_wvb6`Ac>Bw!aenpCRHN3;BPGE&mik*59L!_d|6Y zGB6lb2n_r-G2j@`2R|{~8^U0AFED@(bPQet1_wj!_XdN12x0Il+NZpUL0T^{Fzw*5 zQAZeqE3t9R28KEYU$W@Y#Ncnpv}4)<>}cFRqyLH1pu9hwZ?`AY@BA2IEo3|BhV;F__3PgfK{5g)zX6^toUM1Je#T7p}E~e~I0`j=^OS zFV1tuaW13%-eNErdeHp=#xRbyOk092#uJ0S+5s`(e71o>Hf%ZU4@?Y9JLoS4e~67C z?O?z#z9Pu14ipBa9X$71WA~hAgHL+enPY_0pKm!)v^#f`7yAt}oOr3_WZ|B?4lnki zW;pq!_H%O%=RTIc+RPC-|Jv&FbC2Y1kFKw^M|~$>s_QI5eLjoqp^I(Zg$HuCTI)OY zN<&xS;lMV}nn)YnpI>=m&hFqQpQSI)zSz(?^O?XFucf}DUtHZ?d@!dYy1vG)qC6ZG=zqIHg8J=Dr%b6ZtOh!;-xp3N)wY{EGc?GuOEm0r{J-nBpc^4`8eCkeIM<=jPsd;IAg*ZHEx#3=+Th3ajud_ z`O6qT+Rr=$dA45+d4Qkve`8Pe0>}ryh5qAQY7)*T{gC(ITqq?KXDc@P&%G-{;QOcp zdYJSa>Ub1(&=5rnT0UT2yZ)ZO1cJP&J>|kym?4T=T z2P+I5QpcnH#Mu2W_(#JIs7KunTA&AxpY!>D#@2)G4=^8fJAfT|DGxp9^V!DVU4lOY z{;*}*!35|r1AE!A@Q0&mNBVn0qn@vTRQ-TIhfCr&cF`2F2S#--3vWnKH6EAf*)W$y$u|@VF!;u z4_p^8A5$lw4$P@oA^#sBe>vpWO+9ix(;wKF&$=DZAH0J3yx-7+zOHy6|F5z2$aNtH z@{?bN9Y8(yWsvE|u*z+#8Iw;KmL8Z*{j|4lo{MIG7j>l05y4;|=7lhKbc zcI^P`3fK3rKdA4eKfqkbLHoKLz^`YlK>Jgn$83xRb0SshaNDW{MhGZ)S(~KQBOMNqcfHkj6I6EKbY_+=0gMQ0QQ&)I~o&jLmutt zqW#I|F`wa&ytJbt$WMek*0@+f_Xqv4gAYUV33{CPEc(y+1i#L`iJkczwJsb&|IKy9 zrXA?=AwBATz16ToeScxcpU|IC{?mjKN-?z#G2VLIA{YDV|&;7!$>)HYRI@bjo&nJb~B}@Cd zKlj+P!>}D-KIg!%PJ$ky)&d~}=gCRXYUcYa%p@*n-g?5Db z+#7$OpM$+`+27EP;g82)@OJh$rXA?}w722cy07u;+^^dJGQ2)tyHA@0c^m6<{&%1U z>`$^GpScNoz`Bq=9X@FSd_r&9Kac)z0ghZ(da*yy?Ererfj^jp`KYf8XrJfOqdvA_ z2R{q#^B_O*Fzk3G^hke_20hr=@8?_OxvuaWXdK$NdwvmR2Uyq4b0qGu?VN{(?Ev%X zy63Xv(H9%%ak?ErkCV?q57u)WoBIRZ4!#CEfP5z8{dKT|`+8vqu%qjqAFzEJ_Zw3_ zgdJXE2kFpbD*VAH8|y;Uc^>Aoe>L=o{->nd(}ON=ozL(GJO|_6D#^zFMDM@p&$z#V z9eUsobvw4P&kfrF*5}->K#%b26FOi|4XEdS)Z<5A?A-tJe&bEZb3S697rt+^>kqz< z`2_haw4aIj>~Dk}p#3!Xqf{Fkgz$YQ>?nNS3BPD}pL(qwj0cXi!?7Nlc7XZJd!Fns z!XIE=2=6Z-pJd})SD(+&qxHU3w*&h1-q^v*@Mrz7gKO7ke-m)ve1KmYQ_-rxutq@H!LU}Z?ZGKKunpC)E~xBaSgY6e;FKNMhH6+BRCX||)oXij$_{Kp zHLMFNI~dmLwLLgx2ezRa)&-Rv3~Tk;9-OiR+fWVbg31ntwR&w2PT7HNsD^bxWe3Ar zy|xFZ?7%iu!@8idgJG>++k;bfU>mAoUC^|HGoNcYR`_)AVLm5ohFu4%x6RvB(B`W! zb42z$yME8SEm;j2Ws$sto$L3{-&(NFUlYkYe6H!x%bal2pGka5@&0B8f zh;(%|>@9jcu!iqHnc+ZZ+uov%V7qUHnIm%c3oR#S?+!l7_khi?=g5j3_ifB-Oqpxu zh@3gqvZv_L!0K^JB6%my*6*9~*!U*COK*l#=Nb+aZO>Wf!}D)uICHf1saYEXO&J#1 z)2CW?&)gDN>8&(Ni5xuI{7mtd+*WT@B=5PGR-P!{mA{$K1)5>^q3Z4Pw-l`MTVy|f zYVDqR9R;h?Ep0sCwQ^t4V|i=&?vEKxcdtHFyglzhzQppBTYMIZpdl$TKd=B)wX~3*1#Go_6LsF zJw0nn?#c`cF8eOj9J&9=tPSaS4$cgF53hKlWXt4wD}INMG(0u)p`2!`{k_=Teqhey z1?%{KUYOzBxmAaXwg=YoeQPruI#Ro1&gR@^uf?8^pKaJz_;_Hg$D+%wlPhUMtE~Dx z+TC<;=C+)*eBaXyho7x`a>j=22CKcibYlIk`CGE;(@V`#BHi7s`)5BMi0a?|6RY+W zZ4IvBb8}|sKE85i;lsfeD}E=snhwl-JZBA`zc<5~v#qd~z#5MQzvJC4hh}fjU1znI zlgC<7Uv9H+nJFpqQspr&Z zvEqk=QGMQdV$Gqs+w&i^%AP#gxC=gFwbjOt!~Q61)d%szJdeWfg>!me)>$#_>RNrE z=<#5by`1k{{Y>$uV5`;t9X(wC#HV1pNQHUHkRlDc@N3&L?TjpD5$c8d3c6H)t z%@gxC=QdgGxwETze=+-KnMY?ZXXb9td%!y0?z5}*(_XAL{zB)vXXb9oi_+z;ed~72 z+n80IUJ~iwky8zOW)bzZXvOyF4-~X{7Mi6*UO3#gt$2N2ea50l-tiO7y9&4DthD-r!-rdT z%-NLN!p% z;duMga~{cS@mt#X+@ZF|i`V7V`7C|jeZ2bVdGLQ3mU5kk8@3m2%!%?tT}SG-&)yJd zjG7;(8u!fDg1Ks)=Vu!C6m88}ZC!s~I9>i^G1p|vI4+)8vAtw-ew)XF)!yCfpP2Vx zR+VR71iwR_bbr1k?an#y2V>_)`f_$(Ye&(VV71>eKXxCf*)hK(tI=bT zJ$y)5Kssx1QY@a0fm4hapb$_9Cy)5Kssx1QY@a z0fm4w?-jTp7=znV3wVe+H^YRO(+;w}6Vak+(g1kI)908dU z9s|dr!pKG-5Xc1ubF#B@bFy=?uVFC*2Kjn07yzN|tlVt0e+`S@6C32~BU}5H(c`xY zBOw_f!rfjer_&jSaC>!XzgPWI{cD1+VW?hYZb{@TO zS8p9ivba3#f4dRP?-1MbtEs83&diOZnX0Jhncv=iYsy&LwWK*v6%+yrfgT7LbGNPS zM&FV7-PUHNjntw=ri_{2-hQJpEiI8Uk#uxDk^J`dNV-RvYSZ7KOeo#AGG%2(|5=Zb zMm%7W;hr<72gxs5Gq8#PUYp5j%?D z8jV3D-&%KcnFxL(0q^LsD|}4bx}GgrZKhq>BcP&BQT{P{4n;5-41A(&(6Xk|9#v2X zCzVUj#NXN%0 zpMWw6D4&4xiAX2jynM%{Nb4PMTt7W;mdjbRp1%KoQe){(45I`a5vXS#9aHF(%fj5EkUOmbc(1Uy0loj z?Q@HUpq7Ak6VNVfLrYAK*J9X4Kbs4SkL3A&L*r8yY$M>rJjEn+Vrn{^n5T$tGGPN7 zq=Xam)QNfO#5{Fko+4_9F6SW6Qzz!B6Z6!GdFsSGbq>)y-Fd+Pa%X6LHot8vN)_xE z0)u46172;v1~~}A13o}iVV@Bg1of&ahY12+tm9s+<6f-eUaaGYZtoDR<6f-eUaaF@ ztm9s+$n%|xOa%wakbwbCKKis4a0|d>cc$sVV?RhPZ8a| zA(*E=%u^rcsSoqihk1&qA-a5nJWqX?r#{S6ALgkK^VBy)^VHmLbFnq|+SjIUkqM|~ z?*Ih)yh&4nw+w+hz^wYz#ajlbYPbgieNvzj8W9NeFcy_DqzH@%BfAX-IiyPMM`O1E zR8d{%$552$03#5k7{w?AEC>v+sj2Gvfq+FVDya~NLZBaJr9=l9fhff&Mj>E9V1P~S z&Z|zlf@f0kylD8@RPgxQPt502?T*xq`l6m?1&_b+#C)FBZv6?UFY4J>@HU=*wOf5f z+q*x$UfGJyx38Bi6`k)~H{W7%Dya}q2n;X+8vGa{9_zm1Li_~Jc!N(K6M4=X*PXcT z#C7MD9eCz@$e#PYu0!Z&rslqKHTrpSj4vMJi^urluOuL*BDN3ZbLRaV(oMy+1dKQ8 zIrb}ihVohVn|5vxE~<5BfE|RYP9dNWPzWdl6aor?K|{caeK_K$(eG{{4|{J!7vheg ze3xqwwq{XPI>0{;)dqMt zF{`Uu_5Sy-EmU>#FRsm!s*_*ukvC|QOjWE9PzWdl6aor?I{*QfcIB!I?-t=;*6G5# zMK0$RMh(%0xWk3BSVXsL2;Md7u}BX>h6{T_7v5=d;hiQI-f42hW4zcCBDxS05K|G` zUHCf~BJz`wKluNz!5|D(uhNA*p$liTF1$MMt9wuk7Zk)lo zaR%$g8LS&;ux^~eB5H^(#011t#CA8%U=fj@jQl(I4AzY^SU1jK-8h4F;|$h~Ggvpy zVBN#?47TM35i{OqQ*GFGC%g$!i2*@i*cyr&*pMJFAVxUCD;W|+sYV72fe~)512X&p zQ--Q&NDvqhrH}ARhD1@SkpV+sgqv%xhCg7S4^Ty3yaR%$A-WJh!TUbXu`LGX<{tcrmdxr9NjQZH^ zK8s!NU2Il%z4x(={GRV*Gk?%0o@ziLpb$_9C|DF43Gg#k+H}m*yeJ|dcKjIyO z0ze_45Kssx1QY@afk8*Wy7y3Ng}|MTz!-5Qa12-9O!jE5_0n-v1V7{>E=iE{2wy}n z$M_CHfAWS?8!lkgbm7b29Zal-LmQ^;sBeXULO>y)5V$=NND-H>zdie7;vW-PN6Dy? zQIYTLglz0EMkkKOHU3-Wu5vr#9r68bO+>Xfuz2=gBdUh}A}~*SejfOLU;Xr}pEh5$ ze$u7qr@w7m<^TL@&yV%GnSM=b@wqGNWArsz-Yl=a6#@zYg}_KgV8_@C$tTCI9nEML z2V+$*RszHG-&oS{yvB9IKN}wT#uDm^LO>y)5Kssx1QY@a0fm4hapb$_9CT?a!f9nDJ6?Z1s6p=ks>K+B9TkrwF(ls zWNDE_I+072LMf>wk@K+RA`-c74ct-^xlGo%ghVb&HcLqjiQIj%KuRh}5?rA7Ldqwpw0y- z+zc*DW|1o;@mihCkp(Rza>W?!f=Uv(`7BvSBDY8qWx;Y1xy8IzLLygzr}q}11IB3E zS+a`6YwKBZ35i^T6JuCRBDW3K%F9UPc7R)0Nh0?Q&|X+VB6kF1FK;H1>jbxOF{z*c zdVpNrA`-7%kpChJD@f#Cltx)tMIv{Ja!n+1uajF&BKHotauT_3lB*$++v@cu2-E^u{=N#v5jEh#0D^MG4aN+Op9%$Agq$OTw(DT&XEUP4un-95Vr6h8v9SdaH zauT_djw4duLL%4g$d~d`61f)~m~J&BaxbBU@VrG$Spygiz`Xw z{*7{rNaX&7+(Ht$D;!Z3iQMmbt&~LW59De|T5s!8Nhu|8B)kjSNRwWuPI%jC6%Byx9Y^Q5YUL~e%GDpgBJqz8Y*Y1_t5)!$;&_0sdDiXOj zAy-pNBKIEUmXOG0u+AnDx%bJHlgNFG+)@&`??JAmghcM|aILhKMD8P&tRay*jTOD3 zoJ8(pSV-+M61giZSxO@J2XG6^NaS9^%2n4$BDcU}%k^2$wY-uEsJL342EUPAw`^yw?_ue1kM1@`> z;Dkp@6$j3F9a@%X*e7dRj%aa(;>5nn34iL0OT*p5IEll)+^u=UEg2Foeo4f9OoERa z1s^{~n;|LMRCww+GFF=lA05CxFbJtU@n{9u;pbykP7yC=v`vf@`uwzgbyWQF8vEwH*q32M!fr*%la zwpsGyek%oWzmx*^V=^V~H&_RLEuYc;N$!r@FQ0WiFZVc)$UUy3@@KC9CR1I%kb7Of zl4-7XnVz%;aV_FHxi9en#PxDt!hYFGlbAn$KI7xl3jDb~CndDR$OLMY`4r_#cy zN#PWGYDlnuM#>kyN=%JBj>Eiarr2jA53T7b_Sw>|p2yxBSJ^Akwx+MmxF~GHNKrFJ ziaju|nkm+2)U*N-Y>EUNurg z+(^;Z%sefWqNa^JYb^<(Jfg87;}@uT3=rRt@%zx&jFi#F?{PJfLODn;I0vG9n1Q?|4*iW~=7o5? zt2{U%)qx*M7w6bHq3R9Z6~((G-kZI`D8TF1{-%oN1|Fuk@Oqq#@!mVz$Rh6&w^bhN zH~5f*aXsF9e@Uo*jNT=w;{)b(op(og2d_u<$EYvVzp0uAZ6#$+35{o}7RMUsM)kn! znk0-1^RP{qxYBb&?M=m=0{qy|hWayAO9G!b=`(evJo)6wQx}^&`;#~+uh_~bWd@g8 zdDqzdWzl@FBE+LNnv4#W#%T-s=R*GrN+Z`DI0ZDrRFrl|0+bWL9#s?WgJHFjo*pYI~xuCen% zJnVt^XIc3;ab`>_G`hg+ad@l$z9M6Fg#IyJ*h5*QJ&r#Zs(|BjO5y}_JVyITnU!Yy zxb8rWW|;3Z^#5n(_3Q8`?b5~?C0O1e_n6``AJ$C!$qVINMg5wj%r^^=cS=f5IK#Z4 zzI6l~ISL4cfI>ha&>IBO@s}=!;^N`~jT!h$(VZN;@~1nw`~B{_4=2E^dZ==**q0;@8uWRqT@ba7Q{-D40^jH3N>&M;DOK(0qk6!4vP29=~ z{L*GN?{GLYt)gjT=f$_*{jr&Olkbj$mu_-3bZI=EFkr~c%+1Tnip0?6sILj~QRKEX z>WX3%0t$iQfy)5Kssx1QY@a0fm4hapb$_9Cy)5Kssx1QY@a0fm4< zKp~(IPzWdl6aoqXg@8h!?+8qkKlEMr4wjrGABF$ttvh%as_O~?g@8gpA)pXY2q**; J0@on${{h7_&*K09 literal 0 HcmV?d00001 diff --git a/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch b/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch index cd6037ca1..966a6d0a8 100644 --- a/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch +++ b/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch @@ -1,4 +1,4 @@ -From 67a6b38fa419294a243219e1d99ac0f8e89daef4 Mon Sep 17 00:00:00 2001 +From 956d1d775a0203dab5a85f4d8e44a127aa0b9fed Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sat, 18 Jul 2020 08:53:44 +0200 Subject: [PATCH 01/30] ipq807x: add the Qualcomm AX target support @@ -12,14 +12,14 @@ Signed-off-by: John Crispin .../etc/hotplug.d/firmware/11-ath10k-caldata | 5 + target/linux/ipq807x/109-logspam.patch | 24 + target/linux/ipq807x/Makefile | 22 + - .../ipq807x/base-files/etc/board.d/01_leds | 36 + - .../ipq807x/base-files/etc/board.d/02_network | 78 + - .../etc/hotplug.d/firmware/10-ath11k-caldata | 92 + - .../ipq807x/base-files/etc/init.d/aq_phy | 15 + + .../ipq807x/base-files/etc/board.d/01_leds | 37 + + .../ipq807x/base-files/etc/board.d/02_network | 81 + + .../etc/hotplug.d/firmware/10-ath11k-caldata | 94 + + .../ipq807x/base-files/etc/init.d/aq_phy | 16 + .../ipq807x/base-files/etc/init.d/bootcount | 12 + .../linux/ipq807x/base-files/etc/init.d/wdt | 14 + ...G4_v5.4.B-AQR_CIG_WIFI_ID44715_VER1673.cld | Bin 0 -> 391170 bytes - .../base-files/lib/upgrade/platform.sh | 66 + + .../base-files/lib/upgrade/platform.sh | 70 + target/linux/ipq807x/config-4.4 | 828 +++++++++ .../arm/boot/dts/qcom-ipq6018-cig-wf188.dts | 18 + .../arm/boot/dts/qcom-ipq6018-cig-wf188n.dts | 18 + @@ -31,11 +31,17 @@ Signed-off-by: John Crispin .../arch/arm/boot/dts/qcom-ipq807x-ex447.dts | 26 + .../boot/dts/qcom-ipq807x-sercomm-wallaby.dts | 26 + .../arch/arm/boot/dts/qcom-ipq807x-wf194c.dts | 26 + + .../arm/boot/dts/qcom-ipq807x-wf194c4.dts | 26 + .../dts/qcom/qcom-ipq6018-miwifi-ax1800.dts | 419 +++++ .../boot/dts/qcom/qcom-ipq807x-eap102.dts | 918 ++++++++++ + .../boot/dts/qcom/qcom-ipq807x-wf194c4.dts | 942 ++++++++++ target/linux/ipq807x/image/Makefile | 26 + + target/linux/ipq807x/image/ipq50xx.mk | 10 + target/linux/ipq807x/image/ipq60xx.mk | 47 + - target/linux/ipq807x/image/ipq807x.mk | 81 + + target/linux/ipq807x/image/ipq807x.mk | 90 + + target/linux/ipq807x/ipq50xx/config-default | 84 + + target/linux/ipq807x/ipq50xx/config-lowmem | 73 + + target/linux/ipq807x/ipq50xx/target.mk | 10 + target/linux/ipq807x/ipq60xx/config-default | 122 ++ .../linux/ipq807x/ipq60xx/profiles/default.mk | 9 + target/linux/ipq807x/ipq60xx/target.mk | 8 + @@ -55,7 +61,7 @@ Signed-off-by: John Crispin .../ipq807x/patches/110-add-esmt-nand.patch | 37 + target/linux/ipq807x/patches/111-eap106.patch | 765 +++++++++ target/linux/ipq807x/patches/112-pstore.patch | 147 ++ - 50 files changed, 10258 insertions(+), 2 deletions(-) + 56 files changed, 11423 insertions(+), 2 deletions(-) create mode 100644 package/boot/uboot-envtools/files/ipq807x create mode 100644 target/linux/ipq807x/109-logspam.patch create mode 100644 target/linux/ipq807x/Makefile @@ -78,11 +84,17 @@ Signed-off-by: John Crispin create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex447.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-sercomm-wallaby.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c.dts + create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c4.dts create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-miwifi-ax1800.dts create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts + create mode 100644 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts create mode 100644 target/linux/ipq807x/image/Makefile + create mode 100644 target/linux/ipq807x/image/ipq50xx.mk create mode 100644 target/linux/ipq807x/image/ipq60xx.mk create mode 100644 target/linux/ipq807x/image/ipq807x.mk + create mode 100644 target/linux/ipq807x/ipq50xx/config-default + create mode 100644 target/linux/ipq807x/ipq50xx/config-lowmem + create mode 100644 target/linux/ipq807x/ipq50xx/target.mk create mode 100644 target/linux/ipq807x/ipq60xx/config-default create mode 100644 target/linux/ipq807x/ipq60xx/profiles/default.mk create mode 100644 target/linux/ipq807x/ipq60xx/target.mk @@ -251,7 +263,7 @@ index 0000000000..79ee61dc77 + return 0; diff --git a/target/linux/ipq807x/Makefile b/target/linux/ipq807x/Makefile new file mode 100644 -index 0000000000..97c770df4a +index 0000000000..abdb82ec5d --- /dev/null +++ b/target/linux/ipq807x/Makefile @@ -0,0 +1,22 @@ @@ -260,7 +272,7 @@ index 0000000000..97c770df4a +ARCH:=arm +BOARD:=ipq807x +BOARDNAME:=Qualcomm Atheros AX -+SUBTARGETS:=ipq807x ipq60xx ++SUBTARGETS:=ipq807x ipq60xx ipq50xx +FEATURES:=squashfs ramdisk nand pcie usb +KERNELNAME:=Image dtbs +CPU_TYPE:=cortex-a7 @@ -279,10 +291,10 @@ index 0000000000..97c770df4a +$(eval $(call BuildTarget)) diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds new file mode 100755 -index 0000000000..0bfa04d614 +index 0000000000..581fbe8ac0 --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds -@@ -0,0 +1,36 @@ +@@ -0,0 +1,37 @@ +#!/bin/sh + +. /lib/functions/uci-defaults.sh @@ -294,7 +306,8 @@ index 0000000000..0bfa04d614 +case "$board" in +sercomm,wallaby|\ +cig,wf188n|\ -+cig,wf194c) ++cig,wf194c|\ ++cig,wf194c4) + ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0" "tx rx link" + ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tpt" + ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tpt" @@ -321,10 +334,10 @@ index 0000000000..0bfa04d614 +exit 0 diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network new file mode 100755 -index 0000000000..ee9973f7a8 +index 0000000000..87e3ea3d3a --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/board.d/02_network -@@ -0,0 +1,78 @@ +@@ -0,0 +1,81 @@ +#!/bin/sh + +. /lib/functions.sh @@ -351,6 +364,8 @@ index 0000000000..ee9973f7a8 + ucidef_set_interface_wan "eth5" + ;; + cig,wf194c|\ ++ cig,wf194c4|\ ++ qcom,ipq5018-mp03.3|\ + sercomm,wallaby) + ucidef_set_interface_lan "eth0" + ucidef_set_interface_wan "eth1" @@ -377,7 +392,8 @@ index 0000000000..ee9973f7a8 + local board="$1" + + case $board in -+ cig,wf194c) ++ cig,wf194c|\ ++ cig,wf194c4) + mac=$(grep BaseMacAddress= /dev/mtd14 | cut -dx -f2) + wan_mac=$(macaddr_canonicalize $mac) + lan_mac=$(macaddr_add "$wan_mac" 1) @@ -405,10 +421,10 @@ index 0000000000..ee9973f7a8 +exit 0 diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata new file mode 100755 -index 0000000000..e64ea1a105 +index 0000000000..4a33ee87f9 --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata -@@ -0,0 +1,92 @@ +@@ -0,0 +1,94 @@ +#!/bin/sh + +[ -e /lib/firmware/$FIRMWARE ] && exit 0 @@ -451,6 +467,7 @@ index 0000000000..e64ea1a105 +"ath11k/IPQ8074/hw2.0/caldata.bin") + case "$board" in + cig,wf194c|\ ++ cig,wf194c4|\ + edgecore,eap102 |\ + edgecore,eap106 |\ + qcom,ipq807x-hk01|\ @@ -458,7 +475,7 @@ index 0000000000..e64ea1a105 + tplink,ex227|\ + tplink,ex447|\ + sercomm,wallaby) -+ caldata_extract "0:ART" 0x1000 0x20000 ++ caldata_extract "0:ART" 0x1000 0x20000 + ;; + esac + ;; @@ -482,7 +499,8 @@ index 0000000000..e64ea1a105 + ;; +ath11k/QCN9074/hw1.0/caldata_2.bin) + case "$board" in -+ qcom,ipq807x-hk14) ++ qcom,ipq807x-hk14|\ ++ qcom,ipq5018-mp03.3) + caldata_extract "0:ART" 0x4C000 0x20000 + ;; + esac @@ -503,10 +521,10 @@ index 0000000000..e64ea1a105 +esac diff --git a/target/linux/ipq807x/base-files/etc/init.d/aq_phy b/target/linux/ipq807x/base-files/etc/init.d/aq_phy new file mode 100755 -index 0000000000..41a52ccc2d +index 0000000000..e64755b5d6 --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/init.d/aq_phy -@@ -0,0 +1,15 @@ +@@ -0,0 +1,16 @@ +#!/bin/sh /etc/rc.common + +START=30 @@ -515,7 +533,8 @@ index 0000000000..41a52ccc2d + . /lib/functions.sh + + case "$(board_name)" in -+ cig,wf194c) ++ cig,wf194c|\ ++ cig,wf194c4) + aq-fw-download /lib/firmware/AQR-G4_v5.4.B-AQR_CIG_WIFI_ID44715_VER1673.cld miireg 0 > /dev/null + sleep 1 + ssdk_sh debug phy set 0 0x4004c441 0x8 @@ -4741,10 +4760,10 @@ HcmV?d00001 diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh new file mode 100755 -index 0000000000..4943b6c406 +index 0000000000..d533207884 --- /dev/null +++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh -@@ -0,0 +1,66 @@ +@@ -0,0 +1,70 @@ +. /lib/functions/system.sh + +qca_do_upgrade() { @@ -4770,6 +4789,7 @@ index 0000000000..4943b6c406 + cig,wf188|\ + cig,wf188n|\ + cig,wf194c|\ ++ cig,wf194c4|\ + edgecore,eap101|\ + edgecore,eap102|\ + edgecore,eap106|\ @@ -4777,7 +4797,8 @@ index 0000000000..4943b6c406 + tplink,ex447|\ + qcom,ipq6018-cp01|\ + qcom,ipq807x-hk01|\ -+ qcom,ipq807x-hk14) ++ qcom,ipq807x-hk14|\ ++ qcom,ipq5018-mp03.3) + [ "$magic_long" = "73797375" ] && return 0 + ;; + esac @@ -4796,9 +4817,11 @@ index 0000000000..4943b6c406 + ;; + cig,wf188n|\ + cig,wf194c|\ ++ cig,wf194c4|\ + qcom,ipq6018-cp01|\ + qcom,ipq807x-hk01|\ + qcom,ipq807x-hk14|\ ++ qcom,ipq5018-mp03.3|\ + tplink,ex447|\ + tplink,ex227) + nand_upgrade_tar "$1" @@ -5933,6 +5956,38 @@ index 0000000000..4274b6c704 + }; + }; +}; +diff --git a/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c4.dts b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c4.dts +new file mode 100644 +index 0000000000..372f29df38 +--- /dev/null ++++ b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c4.dts +@@ -0,0 +1,26 @@ ++/* ++ * Copyright (c) 2017, The Linux Foundation. All rights reserved. ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++#include "../../../arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts" ++ ++/ { ++ soc { ++ pmu { ++ compatible = "arm,cortex-a7-pmu"; ++ interrupts = ; ++ }; ++ }; ++}; diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-miwifi-ax1800.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-miwifi-ax1800.dts new file mode 100755 index 0000000000..ba4a5ef3ca @@ -7282,6 +7337,954 @@ index 0000000000..d04cb1020c +&wifi1 { + qcom,board_id = <0x292>; +}; +diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts +new file mode 100644 +index 0000000000..4c633fea5c +--- /dev/null ++++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts +@@ -0,0 +1,942 @@ ++/dts-v1/; ++/* ++ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++#include "qcom-ipq807x-soc.dtsi" ++#include "qcom-ipq807x-hk-cpu.dtsi" ++ ++/ { ++ #address-cells = <0x2>; ++ #size-cells = <0x2>; ++ model = "CIG WF194c4"; ++ compatible = "cig,wf194c4", "qcom,ipq807x"; ++ qcom,msm-id = <0x156 0x0>; ++ interrupt-parent = <&intc>; ++ qcom,board-id = <0x8 0x0>; ++ qcom,pmic-id = <0x0 0x0 0x0 0x0>; ++ ++ aliases { ++ /* ++ * Aliases as required by u-boot ++ * to patch MAC addresses ++ */ ++ ethernet0 = "/soc/dp1"; ++ ethernet1 = "/soc/dp2"; ++ /* ethernet2 = "/soc/dp3"; ++ ethernet3 = "/soc/dp4"; ++ ethernet4 = "/soc/dp5"; ++ ethernet5 = "/soc/dp6"; ++ */ ++ }; ++ ++ chosen { ++ bootargs = "console=ttyMSM0,115200,n8 root=/dev/ram0 rw \ ++ init=/init"; ++ #ifdef __IPQ_MEM_PROFILE_256_MB__ ++ bootargs-append = " swiotlb=1"; ++ #else ++ bootargs-append = " swiotlb=1 coherent_pool=2M"; ++ #endif ++ }; ++}; ++ ++&tlmm { ++ pinctrl-0 = <&btcoex_pins>; ++ pinctrl-names = "default"; ++ ++ btcoex_pins: btcoex_pins { ++/* ++ mux_0 { ++ pins = "gpio64"; ++ function = "pta1_1"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ mux_1 { ++ pins = "gpio65"; ++ function = "pta1_2"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ mux_2 { ++ pins = "gpio66"; ++ function = "pta1_0"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ mux_3 { ++ pins = "gpio54"; ++ function = "pta2_0"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ mux_4 { ++ pins = "gpio55"; ++ function = "pta2_1"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ mux_5 { ++ pins = "gpio56"; ++ function = "pta2_2"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++*/ ++ mux_0 { ++ pins = "gpio34"; ++ function = "gpio"; ++ drive-strength = <6>; ++ bias-pull-up; ++ output-high; ++ }; ++ mux_1 { ++ pins = "gpio62"; ++ function = "gpio"; ++ drive-strength = <6>; ++ bias-pull-up; ++ output-high; ++ }; ++ }; ++ ++ mdio_pins: mdio_pinmux { ++ mux_0 { ++ pins = "gpio68"; ++ function = "mdc"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ mux_1 { ++ pins = "gpio69"; ++ function = "mdio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ }; ++ ++ uart_pins: uart_pins { ++ mux { ++ pins = "gpio23", "gpio24"; ++ function = "blsp4_uart1"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ spi_0_pins: spi_0_pins { ++ mux { ++ pins = "gpio38", "gpio39", "gpio40", "gpio41"; ++ function = "blsp0_spi"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ /*spi_3_pins: spi_3_pins { ++ mux { ++ pins = "gpio50", "gpio52", "gpio53"; ++ function = "blsp3_spi"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ spi_cs { ++ pins = "gpio22"; ++ function = "blsp3_spi2"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ quartz_interrupt { ++ pins = "gpio47"; ++ function = "gpio"; ++ input; ++ bias-disable; ++ }; ++ quartz_reset { ++ pins = "gpio21"; ++ function = "gpio"; ++ output-low; ++ bias-disable; ++ }; ++ };*/ ++ ++ qpic_pins: qpic_pins { ++ data_0 { ++ pins = "gpio15"; ++ function = "qpic_pad0"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_1 { ++ pins = "gpio12"; ++ function = "qpic_pad1"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_2 { ++ pins = "gpio13"; ++ function = "qpic_pad2"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_3 { ++ pins = "gpio14"; ++ function = "qpic_pad3"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_4 { ++ pins = "gpio5"; ++ function = "qpic_pad4"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_5 { ++ pins = "gpio6"; ++ function = "qpic_pad5"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_6 { ++ pins = "gpio7"; ++ function = "qpic_pad6"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_7 { ++ pins = "gpio8"; ++ function = "qpic_pad7"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ qpic_pad { ++ pins = "gpio1", "gpio3", "gpio4", ++ "gpio10", "gpio11", "gpio17"; ++ function = "qpic_pad"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ hsuart_pins: hsuart_pins { ++ mux { ++ pins = "gpio48", "gpio49"; ++ function = "blsp2_uart"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ button_pins: button_pins { ++ wps_button { ++ pins = "gpio67"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ }; ++ ++ leds_pins: leds_pinmux { ++ led1_r { ++ pins = "gpio54"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ led1_g { ++ pins = "gpio55"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ led2_r { ++ pins = "gpio56"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ led2_g { ++ pins = "gpio64"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ ++ }; ++ ++ /*usb_mux_sel_pins: usb_mux_pins { ++ mux { ++ pins = "gpio27"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++ pcie0_pins: pcie_pins { ++ pcie0_rst { ++ pins = "gpio58"; ++ function = "pcie0_rst"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ pcie0_wake { ++ pins = "gpio59"; ++ function = "pcie0_wake"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ };*/ ++ uniphy_pins: uniphy_pinmux { ++ mux_2 { ++ pins = "gpio37"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ mux_3 { ++ pins = "gpio44"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ }; ++ ++}; ++ ++&soc { ++ gpio_keys { ++ compatible = "gpio-keys"; ++ pinctrl-0 = <&button_pins>; ++ pinctrl-names = "default"; ++ ++ button@1 { ++ label = "reset"; ++ linux,code = ; ++ gpios = <&tlmm 67 GPIO_ACTIVE_LOW>; ++ linux,input-type = <1>; ++ debounce-interval = <60>; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-0 = <&leds_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++ ++ led@54 { ++ label = "red:lan"; ++ gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "led1_r"; ++ default-state = "off"; ++ }; ++ led@55 { ++ label = "green:lan"; ++ gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "led1_g"; ++ default-state = "off"; ++ }; ++ led@56 { ++ label = "red:wan"; ++ gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "led2_r"; ++ default-state = "off"; ++ }; ++ led@64 { ++ label = "green:wan"; ++ gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "led2_g"; ++ default-state = "off"; ++ }; ++ }; ++ mdio: mdio@90000 { ++ pinctrl-0 = <&mdio_pins>; ++ pinctrl-names = "default"; ++ phy-reset-gpio = <&tlmm 37 0 &tlmm 44 0>; ++ phy0: ethernet-phy@0 { ++ reg = <0x10>; /*<0>*/ ++ }; ++ phy1: ethernet-phy@1 { ++ reg = <0x11>; ++ }; ++ phy2: ethernet-phy@2 { ++ reg = <0x12>; ++ }; ++ phy3: ethernet-phy@3 { ++ reg = <0x13>; ++ }; ++ phy4: ethernet-phy@4 { ++ reg = <0x14>; ++ }; ++ phy5: ethernet-phy@5 { ++ compatible ="ethernet-phy-ieee802.3-c45"; ++ reg = <0>; ++ }; ++ }; ++ ++ ess-switch@3a000000 { ++ pinctrl-0 = <&uniphy_pins>; ++ pinctrl-names = "default"; ++ switch_cpu_bmp = <0x1>; /* cpu port bitmap */ ++ switch_lan_bmp = <0x32>; /*..0x3e lan port bitmap */ ++ switch_wan_bmp = <0x40>; /* wan port bitmap */ ++ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ ++ switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ ++ switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/ ++ bm_tick_mode = <0>; /* bm tick mode */ ++ tm_tick_mode = <0>; /* tm tick mode */ ++ /*qcom,port_phyinfo { ++ port@0 { ++ port_id = <1>; ++ phy_address = <0>; ++ }; ++ port@1 { ++ port_id = <2>; ++ phy_address = <1>; ++ }; ++ port@2 { ++ port_id = <3>; ++ phy_address = <2>; ++ }; ++ port@3 { ++ port_id = <4>; ++ phy_address = <3>; ++ }; ++ port@4 { ++ port_id = <5>; ++ phy_address = <24>; ++ port_mac_sel = "QGMAC_PORT"; ++ }; ++ port@5 { ++ port_id = <6>; ++ phy_address = <28>; ++ port_mac_sel = "QGMAC_PORT"; ++ }; ++ };*/ ++ port_scheduler_resource { ++ port@0 { ++ port_id = <0>; ++ ucast_queue = <0 143>; ++ mcast_queue = <256 271>; ++ l0sp = <0 35>; ++ l0cdrr = <0 47>; ++ l0edrr = <0 47>; ++ l1cdrr = <0 7>; ++ l1edrr = <0 7>; ++ }; ++ port@1 { ++ port_id = <1>; ++ ucast_queue = <144 159>; ++ mcast_queue = <272 275>; ++ l0sp = <36 39>; ++ l0cdrr = <48 63>; ++ l0edrr = <48 63>; ++ l1cdrr = <8 11>; ++ l1edrr = <8 11>; ++ }; ++ port@2 { ++ port_id = <2>; ++ ucast_queue = <160 175>; ++ mcast_queue = <276 279>; ++ l0sp = <40 43>; ++ l0cdrr = <64 79>; ++ l0edrr = <64 79>; ++ l1cdrr = <12 15>; ++ l1edrr = <12 15>; ++ }; ++ port@3 { ++ port_id = <3>; ++ ucast_queue = <176 191>; ++ mcast_queue = <280 283>; ++ l0sp = <44 47>; ++ l0cdrr = <80 95>; ++ l0edrr = <80 95>; ++ l1cdrr = <16 19>; ++ l1edrr = <16 19>; ++ }; ++ port@4 { ++ port_id = <4>; ++ ucast_queue = <192 207>; ++ mcast_queue = <284 287>; ++ l0sp = <48 51>; ++ l0cdrr = <96 111>; ++ l0edrr = <96 111>; ++ l1cdrr = <20 23>; ++ l1edrr = <20 23>; ++ }; ++ port@5 { ++ port_id = <5>; ++ ucast_queue = <208 223>; ++ mcast_queue = <288 291>; ++ l0sp = <52 55>; ++ l0cdrr = <112 127>; ++ l0edrr = <112 127>; ++ l1cdrr = <24 27>; ++ l1edrr = <24 27>; ++ }; ++ port@6 { ++ port_id = <6>; ++ ucast_queue = <224 239>; ++ mcast_queue = <292 295>; ++ l0sp = <56 59>; ++ l0cdrr = <128 143>; ++ l0edrr = <128 143>; ++ l1cdrr = <28 31>; ++ l1edrr = <28 31>; ++ }; ++ port@7 { ++ port_id = <7>; ++ ucast_queue = <240 255>; ++ mcast_queue = <296 299>; ++ l0sp = <60 63>; ++ l0cdrr = <144 159>; ++ l0edrr = <144 159>; ++ l1cdrr = <32 35>; ++ l1edrr = <32 35>; ++ }; ++ }; ++ port_scheduler_config { ++ port@0 { ++ port_id = <0>; ++ l1scheduler { ++ group@0 { ++ sp = <0 1>; /*L0 SPs*/ ++ /*cpri cdrr epri edrr*/ ++ cfg = <0 0 0 0>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ /*unicast queues*/ ++ ucast_queue = <0 4 8>; ++ /*multicast queues*/ ++ mcast_queue = <256 260>; ++ /*sp cpri cdrr epri edrr*/ ++ cfg = <0 0 0 0 0>; ++ }; ++ group@1 { ++ ucast_queue = <1 5 9>; ++ mcast_queue = <257 261>; ++ cfg = <0 1 1 1 1>; ++ }; ++ group@2 { ++ ucast_queue = <2 6 10>; ++ mcast_queue = <258 262>; ++ cfg = <0 2 2 2 2>; ++ }; ++ group@3 { ++ ucast_queue = <3 7 11>; ++ mcast_queue = <259 263>; ++ cfg = <0 3 3 3 3>; ++ }; ++ }; ++ }; ++ port@1 { ++ port_id = <1>; ++ l1scheduler { ++ group@0 { ++ sp = <36>; ++ cfg = <0 8 0 8>; ++ }; ++ group@1 { ++ sp = <37>; ++ cfg = <1 9 1 9>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <144>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <272>; ++ mcast_loop_pri = <4>; ++ cfg = <36 0 48 0 48>; ++ }; ++ }; ++ }; ++ port@2 { ++ port_id = <2>; ++ l1scheduler { ++ group@0 { ++ sp = <40>; ++ cfg = <0 12 0 12>; ++ }; ++ group@1 { ++ sp = <41>; ++ cfg = <1 13 1 13>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <160>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <276>; ++ mcast_loop_pri = <4>; ++ cfg = <40 0 64 0 64>; ++ }; ++ }; ++ }; ++ port@3 { ++ port_id = <3>; ++ l1scheduler { ++ group@0 { ++ sp = <44>; ++ cfg = <0 16 0 16>; ++ }; ++ group@1 { ++ sp = <45>; ++ cfg = <1 17 1 17>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <176>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <280>; ++ mcast_loop_pri = <4>; ++ cfg = <44 0 80 0 80>; ++ }; ++ }; ++ }; ++ port@4 { ++ port_id = <4>; ++ l1scheduler { ++ group@0 { ++ sp = <48>; ++ cfg = <0 20 0 20>; ++ }; ++ group@1 { ++ sp = <49>; ++ cfg = <1 21 1 21>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <192>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <284>; ++ mcast_loop_pri = <4>; ++ cfg = <48 0 96 0 96>; ++ }; ++ }; ++ }; ++ port@5 { ++ port_id = <5>; ++ l1scheduler { ++ group@0 { ++ sp = <52>; ++ cfg = <0 24 0 24>; ++ }; ++ group@1 { ++ sp = <53>; ++ cfg = <1 25 1 25>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <208>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <288>; ++ mcast_loop_pri = <4>; ++ cfg = <52 0 112 0 112>; ++ }; ++ }; ++ }; ++ port@6 { ++ port_id = <6>; ++ l1scheduler { ++ group@0 { ++ sp = <56>; ++ cfg = <0 28 0 28>; ++ }; ++ group@1 { ++ sp = <57>; ++ cfg = <1 29 1 29>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <224>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <292>; ++ mcast_loop_pri = <4>; ++ cfg = <56 0 128 0 128>; ++ }; ++ }; ++ }; ++ port@7 { ++ port_id = <7>; ++ l1scheduler { ++ group@0 { ++ sp = <60>; ++ cfg = <0 32 0 32>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <240>; ++ mcast_queue = <296>; ++ cfg = <60 0 144 0 144>; ++ }; ++ }; ++ }; ++ }; ++ }; ++/* ++ dp1 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <1>; ++ reg = <0x3a001000 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <0>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp2 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <2>; ++ reg = <0x3a001200 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <1>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp3 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <3>; ++ reg = <0x3a001400 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <2>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp4 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <4>; ++ reg = <0x3a001600 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <3>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp5 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <5>; ++ reg = <0x3a003000 0x3fff>; ++ qcom,mactype = <1>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <24>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp6 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <6>; ++ reg = <0x3a007000 0x3fff>; ++ qcom,mactype = <1>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <28>; ++ phy-mode = "sgmii"; ++ }; ++*/ ++ dp1 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <4>; ++ reg = <0x3a001600 0x200>; ++ // qcom,id = <1>; ++ // reg = <0x3a001000 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <0x13>; ++ phy-mode = "sgmii"; ++ }; ++ dp2 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <6>; ++ reg = <0x3a007000 0x3fff>; ++ qcom,mactype = <1>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <0>; ++ phy-mode = "sgmii"; ++ }; ++/* ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-0 = <&led_pins>; ++ pinctrl-names = "default"; ++ ++ led_2g { ++ label = "led_2g"; ++ gpio = <&tlmm 42 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ led_5g { ++ label = "led_5g"; ++ gpio = <&tlmm 43 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ }; ++ ++ nss-macsec0 { ++ compatible = "qcom,nss-macsec"; ++ phy_addr = <0x18>; ++ phy_access_mode = <0>; ++ mdiobus = <&mdio>; ++ }; ++ nss-macsec1 { ++ compatible = "qcom,nss-macsec"; ++ phy_addr = <0x1c>; ++ phy_access_mode = <0>; ++ mdiobus = <&mdio>; ++ }; ++*/ ++}; ++ ++&serial_blsp4 { ++ pinctrl-0 = <&uart_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&spi_0 { /* BLSP1 QUP1 */ ++ pinctrl-0 = <&spi_0_pins>; ++ pinctrl-names = "default"; ++ cs-select = <0>; ++ status = "ok"; ++ ++ m25p80@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0>; ++ compatible = "n25q128a11"; ++ linux,modalias = "m25p80", "n25q128a11"; ++ spi-max-frequency = <50000000>; ++ use-default-sizes; ++ }; ++}; ++/* ++&spi_4 { ++ pinctrl-0 = <&spi_3_pins>; ++ pinctrl-names = "default"; ++ cs-select = <2>; ++ quartz-reset-gpio = <&tlmm 21 1>; ++ status = "ok"; ++ spidev3: spi@3 { ++ compatible = "qca,spidev"; ++ reg = <0>; ++ spi-max-frequency = <24000000>; ++ }; ++};*/ ++ ++&serial_blsp2 { ++ pinctrl-0 = <&hsuart_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&msm_imem { ++ status = "disabled"; ++}; ++ ++&ssphy_0 { ++ status = "ok"; ++}; ++ ++&qusb_phy_0 { ++ status = "ok"; ++}; ++ ++&ssphy_1 { ++ status = "ok"; ++}; ++ ++&qusb_phy_1 { ++ status = "ok"; ++}; ++ ++&usb3_0 { ++ status = "ok"; ++}; ++ ++&usb3_1 { ++ status = "ok"; ++}; ++ ++&cryptobam { ++ status = "ok"; ++}; ++ ++&crypto { ++ status = "ok"; ++}; ++ ++&i2c_0 { ++ status = "disabled"; ++}; ++ ++&i2c_1 { ++ status = "disabled"; ++}; ++ ++&qpic_bam { ++ status = "ok"; ++}; ++ ++&nand { ++ pinctrl-0 = <&qpic_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&qpic_lcd { ++ status = "disabled"; ++}; ++ ++&qpic_lcd_panel { ++ status = "disabled"; ++}; ++ ++&ledc { ++ status = "disabled"; ++}; ++ ++&pcie0 { ++ status = "disabled"; ++}; ++ ++&pcie1 { ++ status = "disabled"; ++}; ++ diff --git a/target/linux/ipq807x/image/Makefile b/target/linux/ipq807x/image/Makefile new file mode 100644 index 0000000000..3a219e6d6c @@ -7314,6 +8317,22 @@ index 0000000000..3a219e6d6c +include $(SUBTARGET).mk + +$(eval $(call BuildImage)) +diff --git a/target/linux/ipq807x/image/ipq50xx.mk b/target/linux/ipq807x/image/ipq50xx.mk +new file mode 100644 +index 0000000000..f20d54190e +--- /dev/null ++++ b/target/linux/ipq807x/image/ipq50xx.mk +@@ -0,0 +1,10 @@ ++KERNEL_LOADADDR := 0x41208000 ++ ++define Device/qcom_mp03_3 ++ DEVICE_TITLE := Qualcomm Maple 03.3 ++ DEVICE_DTS := qcom-ipq5018-mp03.3 ++ SUPPORTED_DEVICES := qcom,ipq5018-mp03.3 ++ DEVICE_PACKAGES := ath11k-wifi-qcom-ipq5018 ++ DEVICE_DTS_CONFIG := config@mp03.3 ++endef ++TARGET_DEVICES += qcom_mp03_3 diff --git a/target/linux/ipq807x/image/ipq60xx.mk b/target/linux/ipq807x/image/ipq60xx.mk new file mode 100644 index 0000000000..2751391ac7 @@ -7369,10 +8388,10 @@ index 0000000000..2751391ac7 +TARGET_DEVICES += xiaomi_ax1800 diff --git a/target/linux/ipq807x/image/ipq807x.mk b/target/linux/ipq807x/image/ipq807x.mk new file mode 100644 -index 0000000000..92b301bcfb +index 0000000000..1785478ea4 --- /dev/null +++ b/target/linux/ipq807x/image/ipq807x.mk -@@ -0,0 +1,81 @@ +@@ -0,0 +1,90 @@ +KERNEL_LOADADDR := 0x41208000 + +define Device/qcom_hk01 @@ -7411,6 +8430,15 @@ index 0000000000..92b301bcfb +endef +TARGET_DEVICES += cig_wf194 + ++define Device/cig_wf194c4 ++ DEVICE_TITLE := CIG WF194C4 ++ DEVICE_DTS := qcom-ipq807x-wf194c4 ++ DEVICE_DTS_CONFIG=config@hk09 ++ SUPPORTED_DEVICES := cig,wf194c4 ++ DEVICE_PACKAGES := ath11k-wifi-cig-wf194c4 aq-fw-download uboot-envtools kmod-usb3 kmod-usb2 ++endef ++TARGET_DEVICES += cig_wf194c4 ++ +define Device/edgecore_eap102 + DEVICE_TITLE := Edgecore EAP102 + DEVICE_DTS := qcom-ipq807x-eap102 @@ -7454,6 +8482,191 @@ index 0000000000..92b301bcfb + IMAGE/nand-factory.ubi := append-ubi +endef +TARGET_DEVICES += tplink_ex447 +diff --git a/target/linux/ipq807x/ipq50xx/config-default b/target/linux/ipq807x/ipq50xx/config-default +new file mode 100644 +index 0000000000..b8e202c874 +--- /dev/null ++++ b/target/linux/ipq807x/ipq50xx/config-default +@@ -0,0 +1,84 @@ ++# CONFIG_AHCI_IPQ is not set ++CONFIG_ARCH_IPQ5018=y ++# CONFIG_DIAGFWD_BRIDGE_CODE is not set ++CONFIG_IPQ_ADSS_5018=y ++CONFIG_IPQ_APSS_5018=y ++CONFIG_IPQ_GCC_5018=y ++# CONFIG_NET_SWITCHDEV is not set ++CONFIG_NUM_ALT_PARTITION=16 ++CONFIG_PINCTRL_IPQ5018=y ++# CONFIG_IPC_LOGGING is not set ++CONFIG_IPQ_SUBSYSTEM_DUMP=y ++CONFIG_SPS=y ++CONFIG_SPS_SUPPORT_NDP_BAM=y ++CONFIG_CORESIGHT=y ++CONFIG_CORESIGHT_CSR=y ++CONFIG_CORESIGHT_CTI=y ++CONFIG_CORESIGHT_EVENT=y ++CONFIG_CORESIGHT_HWEVENT=y ++CONFIG_CORESIGHT_LINKS_AND_SINKS=y ++CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y ++CONFIG_CORESIGHT_QCOM_REPLICATOR=y ++# CONFIG_INPUT_PM8941_PWRKEY is not set ++CONFIG_MDIO_QCA=y ++# CONFIG_CRYPTO_ALL_CASES is not set ++CONFIG_CRYPTO_DEV_QCOM_ICE=y ++# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set ++CONFIG_CRYPTO_SHA512=y ++# CONFIG_CORESIGHT_QPDI is not set ++# CONFIG_CORESIGHT_SINK_ETBV10 is not set ++CONFIG_CORESIGHT_SINK_TPIU=y ++# CONFIG_CORESIGHT_SOURCE_DUMMY is not set ++CONFIG_CORESIGHT_SOURCE_ETM3X=y ++CONFIG_CORESIGHT_SOURCE_ETM4X=y ++# CONFIG_CORESIGHT_REMOTE_ETM is not set ++CONFIG_CORESIGHT_STM=y ++CONFIG_CORESIGHT_TPDA=y ++CONFIG_CORESIGHT_TPDM=y ++# CONFIG_CORESIGHT_TPDM_DEFAULT_ENABLE is not set ++CONFIG_IIO=y ++# CONFIG_IIO_BUFFER is not set ++# CONFIG_IIO_TRIGGER is not set ++CONFIG_PCIE_DW_PLAT=y ++CONFIG_PHY_IPQ_UNIPHY_PCIE=y ++CONFIG_VMSPLIT_2G=y ++# CONFIG_VMSPLIT_3G is not set ++CONFIG_PPS=y ++CONFIG_PTP_1588_CLOCK=y ++# CONFIG_DP83640_PHY is not set ++CONFIG_PWM_IPQ5018=y ++CONFIG_QCOM_APM=y ++CONFIG_QCOM_DCC=y ++# CONFIG_QCOM_SPMI_TEMP_ALARM is not set ++CONFIG_MMC_SDHCI_MSM_ICE=y ++CONFIG_USB_BAM=y ++CONFIG_MAILBOX=y ++# CONFIG_USB_QCOM_DIAG_BRIDGE is not set ++# CONFIG_USB_CONFIGFS_F_DIAG is not set ++# CONFIG_NF_IPV6_DUMMY_HEADER is not set ++CONFIG_RMNET_DATA=y ++CONFIG_RMNET_DATA_DEBUG_PKT=y ++CONFIG_MTD_NAND_SERIAL=y ++CONFIG_PAGE_SCOPE_MULTI_PAGE_READ=y ++# CONFIG_RMNET_DATA_FC is not set ++CONFIG_CRYPTO_NO_ZERO_LEN_HASH=y ++CONFIG_CRYPTO_DISABLE_AES192_TEST=y ++# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set ++# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set ++# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set ++# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set ++# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set ++CONFIG_QTI_EUD=y ++CONFIG_USB_QCA_M31_PHY=y ++CONFIG_QGIC2_MSI=y ++CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y ++CONFIG_PWM_IPQ4019=y ++CONFIG_RMNET=y ++CONFIG_QCOM_QMI_RMNET=y ++CONFIG_QCOM_QMI_DFC=y ++CONFIG_QCOM_QMI_POWER_COLLAPSE=y ++CONFIG_RMNET_CTL=y ++CONFIG_RMNET_CTL_DEBUG=y ++CONFIG_SND_SOC_IPQ_LPASS=y ++CONFIG_SND_SOC_IPQ_LPASS_PCM_RAW=y ++# CONFIG_SND_SOC_IPQ_PCM_RAW is not set +diff --git a/target/linux/ipq807x/ipq50xx/config-lowmem b/target/linux/ipq807x/ipq50xx/config-lowmem +new file mode 100644 +index 0000000000..b1b817ef6f +--- /dev/null ++++ b/target/linux/ipq807x/ipq50xx/config-lowmem +@@ -0,0 +1,73 @@ ++# CONFIG_AHCI_IPQ is not set ++CONFIG_ARCH_IPQ5018=y ++# CONFIG_DIAGFWD_BRIDGE_CODE is not set ++CONFIG_IPQ_ADSS_5018=y ++CONFIG_IPQ_APSS_5018=y ++CONFIG_IPQ_GCC_5018=y ++# CONFIG_NET_SWITCHDEV is not set ++CONFIG_NUM_ALT_PARTITION=16 ++CONFIG_PINCTRL_IPQ5018=y ++# CONFIG_IPC_LOGGING is not set ++CONFIG_IPQ_SUBSYSTEM_DUMP=y ++# CONFIG_SPS is not set ++# CONFIG_SPS_SUPPORT_NDP_BAM is not set ++# CONFIG_CORESIGHT is not set ++# CONFIG_INPUT_PM8941_PWRKEY is not set ++CONFIG_MDIO_QCA=y ++# CONFIG_CRYPTO_ALL_CASES is not set ++# CONFIG_CRYPTO_DEV_QCOM_ICE is not set ++# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set ++# CONFIG_CRYPTO_SHA512 is not set ++# CONFIG_IIO is not set ++# CONFIG_IIO_BUFFER is not set ++# CONFIG_IIO_TRIGGER is not set ++CONFIG_PCIE_DW_PLAT=y ++CONFIG_PHY_IPQ_UNIPHY_PCIE=y ++CONFIG_VMSPLIT_2G=y ++# CONFIG_VMSPLIT_3G is not set ++# CONFIG_PPS is not set ++# CONFIG_PTP_1588_CLOCK is not set ++# CONFIG_DP83640_PHY is not set ++CONFIG_PWM_IPQ5018=y ++CONFIG_QCOM_APM=y ++# CONFIG_QCOM_DCC is not set ++# CONFIG_QCOM_SPMI_TEMP_ALARM is not set ++CONFIG_MMC_SDHCI_MSM_ICE=y ++CONFIG_USB_BAM=y ++CONFIG_MAILBOX=y ++# CONFIG_USB_QCOM_DIAG_BRIDGE is not set ++# CONFIG_USB_CONFIGFS_F_DIAG is not set ++# CONFIG_NF_IPV6_DUMMY_HEADER is not set ++# CONFIG_RMNET_DATA is not set ++# CONFIG_RMNET_DATA_DEBUG_PKT is not set ++CONFIG_MTD_NAND_SERIAL=y ++CONFIG_PAGE_SCOPE_MULTI_PAGE_READ=y ++# CONFIG_RMNET_DATA_FC is not set ++# CONFIG_CRYPTO_NO_ZERO_LEN_HASH is not set ++# CONFIG_CRYPTO_DISABLE_AES192_TEST is not set ++# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set ++# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set ++# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set ++# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set ++# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set ++CONFIG_QTI_EUD=y ++CONFIG_USB_QCA_M31_PHY=y ++CONFIG_SQUASHFS_XZ=y ++# CONFIG_SQUASHFS_ZLIB is not set ++# CONFIG_JFFS2_LZMA is not set ++CONFIG_JFFS2_ZLIB=y ++# CONFIG_LZO_COMPRESS is not set ++# CONFIG_LZO_DECOMPRESS is not set ++CONFIG_XZ_DEC=y ++# CONFIG_XZ_DEC_X86 is not set ++# CONFIG_XZ_DEC_POWERPC is not set ++# CONFIG_XZ_DEC_IA64 is not set ++CONFIG_XZ_DEC_ARM=y ++# CONFIG_XZ_DEC_ARMTHUMB is not set ++# CONFIG_XZ_DEC_SPARC is not set ++CONFIG_XZ_DEC_BCJ=y ++# CONFIG_LZO_COMPRESS is not set ++# CONFIG_LZO_DECOMPRESS is not set ++# CONFIG_CRYPTO is not set ++CONFIG_QGIC2_MSI=y ++CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +diff --git a/target/linux/ipq807x/ipq50xx/target.mk b/target/linux/ipq807x/ipq50xx/target.mk +new file mode 100644 +index 0000000000..649f398ba6 +--- /dev/null ++++ b/target/linux/ipq807x/ipq50xx/target.mk +@@ -0,0 +1,10 @@ ++ ++SUBTARGET:=ipq50xx ++BOARDNAME:=IPQ50XX ++CPU_TYPE:=cortex-a7 ++ ++DEFAULT_PACKAGES += ath11k-firmware-ipq50xx qca-nss-fw-ipq50xx ++ ++define Target/Description ++ Build firmware image for IPQ50xx SoC devices. ++endef diff --git a/target/linux/ipq807x/ipq60xx/config-default b/target/linux/ipq807x/ipq60xx/config-default new file mode 100644 index 0000000000..3d7c59698e diff --git a/patches/0100-maple.patch b/patches/0100-maple.patch deleted file mode 100644 index 8bdb38c0c..000000000 --- a/patches/0100-maple.patch +++ /dev/null @@ -1,311 +0,0 @@ -From 558ca4df452ed2bdf8bbc9b82e4d23542a3cf66d Mon Sep 17 00:00:00 2001 -From: John Crispin -Date: Sun, 5 Sep 2021 11:46:09 +0200 -Subject: [PATCH] ipq5018 - ---- - target/linux/ipq807x/Makefile | 2 +- - .../ipq807x/base-files/etc/board.d/02_network | 1 + - .../etc/hotplug.d/firmware/10-ath11k-caldata | 11 +-- - .../base-files/lib/upgrade/platform.sh | 4 +- - target/linux/ipq807x/image/ipq50xx.mk | 10 +++ - target/linux/ipq807x/ipq50xx/config-default | 84 +++++++++++++++++++ - target/linux/ipq807x/ipq50xx/config-lowmem | 73 ++++++++++++++++ - target/linux/ipq807x/ipq50xx/target.mk | 10 +++ - 8 files changed, 188 insertions(+), 7 deletions(-) - create mode 100644 target/linux/ipq807x/image/ipq50xx.mk - create mode 100644 target/linux/ipq807x/ipq50xx/config-default - create mode 100644 target/linux/ipq807x/ipq50xx/config-lowmem - create mode 100644 target/linux/ipq807x/ipq50xx/target.mk - -diff --git a/target/linux/ipq807x/Makefile b/target/linux/ipq807x/Makefile -index 97c770df4a..abdb82ec5d 100644 ---- a/target/linux/ipq807x/Makefile -+++ b/target/linux/ipq807x/Makefile -@@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk - ARCH:=arm - BOARD:=ipq807x - BOARDNAME:=Qualcomm Atheros AX --SUBTARGETS:=ipq807x ipq60xx -+SUBTARGETS:=ipq807x ipq60xx ipq50xx - FEATURES:=squashfs ramdisk nand pcie usb - KERNELNAME:=Image dtbs - CPU_TYPE:=cortex-a7 -diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network -index ee9973f7a8..edf0e91143 100755 ---- a/target/linux/ipq807x/base-files/etc/board.d/02_network -+++ b/target/linux/ipq807x/base-files/etc/board.d/02_network -@@ -24,6 +24,7 @@ qcom_setup_interfaces() - ucidef_set_interface_wan "eth5" - ;; - cig,wf194c|\ -+ qcom,ipq5018-mp03.3|\ - sercomm,wallaby) - ucidef_set_interface_lan "eth0" - ucidef_set_interface_wan "eth1" -diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata -index e64ea1a105..2b768e2f9b 100755 ---- a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata -+++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata -@@ -47,7 +47,7 @@ case "$FIRMWARE" in - tplink,ex227|\ - tplink,ex447|\ - sercomm,wallaby) -- caldata_extract "0:ART" 0x1000 0x20000 -+ caldata_extract "0:ART" 0x1000 0x20000 - ;; - esac - ;; -@@ -58,21 +58,22 @@ case "$FIRMWARE" in - edgecore,eap101|\ - qcom,ipq6018-cp01|\ - xiaomi,ax1800) -- caldata_extract "0:ART" 0x1000 0x20000 -+ caldata_extract "0:ART" 0x1000 0x10000 - ;; - esac - ;; - ath11k/QCN9074/hw1.0/caldata_1.bin) - case "$board" in - qcom,ipq807x-hk14) -- caldata_extract "0:ART" 0x26800 0x20000 -+ caldata_extract "0:ART" 0x26800 0x10000 - ;; - esac - ;; - ath11k/QCN9074/hw1.0/caldata_2.bin) - case "$board" in -- qcom,ipq807x-hk14) -- caldata_extract "0:ART" 0x4C000 0x20000 -+ qcom,ipq807x-hk14|\ -+ qcom,ipq5018-mp03.3) -+ caldata_extract "0:ART" 0x4C000 0x10000 - ;; - esac - ;; -diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh -index 4943b6c406..8152ecb0ed 100755 ---- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh -+++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh -@@ -30,7 +30,8 @@ platform_check_image() { - tplink,ex447|\ - qcom,ipq6018-cp01|\ - qcom,ipq807x-hk01|\ -- qcom,ipq807x-hk14) -+ qcom,ipq807x-hk14|\ -+ qcom,ipq5018-mp03.3) - [ "$magic_long" = "73797375" ] && return 0 - ;; - esac -@@ -52,6 +53,7 @@ platform_do_upgrade() { - qcom,ipq6018-cp01|\ - qcom,ipq807x-hk01|\ - qcom,ipq807x-hk14|\ -+ qcom,ipq5018-mp03.3|\ - tplink,ex447|\ - tplink,ex227) - nand_upgrade_tar "$1" -diff --git a/target/linux/ipq807x/image/ipq50xx.mk b/target/linux/ipq807x/image/ipq50xx.mk -new file mode 100644 -index 0000000000..f20d54190e ---- /dev/null -+++ b/target/linux/ipq807x/image/ipq50xx.mk -@@ -0,0 +1,10 @@ -+KERNEL_LOADADDR := 0x41208000 -+ -+define Device/qcom_mp03_3 -+ DEVICE_TITLE := Qualcomm Maple 03.3 -+ DEVICE_DTS := qcom-ipq5018-mp03.3 -+ SUPPORTED_DEVICES := qcom,ipq5018-mp03.3 -+ DEVICE_PACKAGES := ath11k-wifi-qcom-ipq5018 -+ DEVICE_DTS_CONFIG := config@mp03.3 -+endef -+TARGET_DEVICES += qcom_mp03_3 -diff --git a/target/linux/ipq807x/ipq50xx/config-default b/target/linux/ipq807x/ipq50xx/config-default -new file mode 100644 -index 0000000000..b8e202c874 ---- /dev/null -+++ b/target/linux/ipq807x/ipq50xx/config-default -@@ -0,0 +1,84 @@ -+# CONFIG_AHCI_IPQ is not set -+CONFIG_ARCH_IPQ5018=y -+# CONFIG_DIAGFWD_BRIDGE_CODE is not set -+CONFIG_IPQ_ADSS_5018=y -+CONFIG_IPQ_APSS_5018=y -+CONFIG_IPQ_GCC_5018=y -+# CONFIG_NET_SWITCHDEV is not set -+CONFIG_NUM_ALT_PARTITION=16 -+CONFIG_PINCTRL_IPQ5018=y -+# CONFIG_IPC_LOGGING is not set -+CONFIG_IPQ_SUBSYSTEM_DUMP=y -+CONFIG_SPS=y -+CONFIG_SPS_SUPPORT_NDP_BAM=y -+CONFIG_CORESIGHT=y -+CONFIG_CORESIGHT_CSR=y -+CONFIG_CORESIGHT_CTI=y -+CONFIG_CORESIGHT_EVENT=y -+CONFIG_CORESIGHT_HWEVENT=y -+CONFIG_CORESIGHT_LINKS_AND_SINKS=y -+CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y -+CONFIG_CORESIGHT_QCOM_REPLICATOR=y -+# CONFIG_INPUT_PM8941_PWRKEY is not set -+CONFIG_MDIO_QCA=y -+# CONFIG_CRYPTO_ALL_CASES is not set -+CONFIG_CRYPTO_DEV_QCOM_ICE=y -+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -+CONFIG_CRYPTO_SHA512=y -+# CONFIG_CORESIGHT_QPDI is not set -+# CONFIG_CORESIGHT_SINK_ETBV10 is not set -+CONFIG_CORESIGHT_SINK_TPIU=y -+# CONFIG_CORESIGHT_SOURCE_DUMMY is not set -+CONFIG_CORESIGHT_SOURCE_ETM3X=y -+CONFIG_CORESIGHT_SOURCE_ETM4X=y -+# CONFIG_CORESIGHT_REMOTE_ETM is not set -+CONFIG_CORESIGHT_STM=y -+CONFIG_CORESIGHT_TPDA=y -+CONFIG_CORESIGHT_TPDM=y -+# CONFIG_CORESIGHT_TPDM_DEFAULT_ENABLE is not set -+CONFIG_IIO=y -+# CONFIG_IIO_BUFFER is not set -+# CONFIG_IIO_TRIGGER is not set -+CONFIG_PCIE_DW_PLAT=y -+CONFIG_PHY_IPQ_UNIPHY_PCIE=y -+CONFIG_VMSPLIT_2G=y -+# CONFIG_VMSPLIT_3G is not set -+CONFIG_PPS=y -+CONFIG_PTP_1588_CLOCK=y -+# CONFIG_DP83640_PHY is not set -+CONFIG_PWM_IPQ5018=y -+CONFIG_QCOM_APM=y -+CONFIG_QCOM_DCC=y -+# CONFIG_QCOM_SPMI_TEMP_ALARM is not set -+CONFIG_MMC_SDHCI_MSM_ICE=y -+CONFIG_USB_BAM=y -+CONFIG_MAILBOX=y -+# CONFIG_USB_QCOM_DIAG_BRIDGE is not set -+# CONFIG_USB_CONFIGFS_F_DIAG is not set -+# CONFIG_NF_IPV6_DUMMY_HEADER is not set -+CONFIG_RMNET_DATA=y -+CONFIG_RMNET_DATA_DEBUG_PKT=y -+CONFIG_MTD_NAND_SERIAL=y -+CONFIG_PAGE_SCOPE_MULTI_PAGE_READ=y -+# CONFIG_RMNET_DATA_FC is not set -+CONFIG_CRYPTO_NO_ZERO_LEN_HASH=y -+CONFIG_CRYPTO_DISABLE_AES192_TEST=y -+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -+# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set -+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set -+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -+CONFIG_QTI_EUD=y -+CONFIG_USB_QCA_M31_PHY=y -+CONFIG_QGIC2_MSI=y -+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y -+CONFIG_PWM_IPQ4019=y -+CONFIG_RMNET=y -+CONFIG_QCOM_QMI_RMNET=y -+CONFIG_QCOM_QMI_DFC=y -+CONFIG_QCOM_QMI_POWER_COLLAPSE=y -+CONFIG_RMNET_CTL=y -+CONFIG_RMNET_CTL_DEBUG=y -+CONFIG_SND_SOC_IPQ_LPASS=y -+CONFIG_SND_SOC_IPQ_LPASS_PCM_RAW=y -+# CONFIG_SND_SOC_IPQ_PCM_RAW is not set -diff --git a/target/linux/ipq807x/ipq50xx/config-lowmem b/target/linux/ipq807x/ipq50xx/config-lowmem -new file mode 100644 -index 0000000000..b1b817ef6f ---- /dev/null -+++ b/target/linux/ipq807x/ipq50xx/config-lowmem -@@ -0,0 +1,73 @@ -+# CONFIG_AHCI_IPQ is not set -+CONFIG_ARCH_IPQ5018=y -+# CONFIG_DIAGFWD_BRIDGE_CODE is not set -+CONFIG_IPQ_ADSS_5018=y -+CONFIG_IPQ_APSS_5018=y -+CONFIG_IPQ_GCC_5018=y -+# CONFIG_NET_SWITCHDEV is not set -+CONFIG_NUM_ALT_PARTITION=16 -+CONFIG_PINCTRL_IPQ5018=y -+# CONFIG_IPC_LOGGING is not set -+CONFIG_IPQ_SUBSYSTEM_DUMP=y -+# CONFIG_SPS is not set -+# CONFIG_SPS_SUPPORT_NDP_BAM is not set -+# CONFIG_CORESIGHT is not set -+# CONFIG_INPUT_PM8941_PWRKEY is not set -+CONFIG_MDIO_QCA=y -+# CONFIG_CRYPTO_ALL_CASES is not set -+# CONFIG_CRYPTO_DEV_QCOM_ICE is not set -+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -+# CONFIG_CRYPTO_SHA512 is not set -+# CONFIG_IIO is not set -+# CONFIG_IIO_BUFFER is not set -+# CONFIG_IIO_TRIGGER is not set -+CONFIG_PCIE_DW_PLAT=y -+CONFIG_PHY_IPQ_UNIPHY_PCIE=y -+CONFIG_VMSPLIT_2G=y -+# CONFIG_VMSPLIT_3G is not set -+# CONFIG_PPS is not set -+# CONFIG_PTP_1588_CLOCK is not set -+# CONFIG_DP83640_PHY is not set -+CONFIG_PWM_IPQ5018=y -+CONFIG_QCOM_APM=y -+# CONFIG_QCOM_DCC is not set -+# CONFIG_QCOM_SPMI_TEMP_ALARM is not set -+CONFIG_MMC_SDHCI_MSM_ICE=y -+CONFIG_USB_BAM=y -+CONFIG_MAILBOX=y -+# CONFIG_USB_QCOM_DIAG_BRIDGE is not set -+# CONFIG_USB_CONFIGFS_F_DIAG is not set -+# CONFIG_NF_IPV6_DUMMY_HEADER is not set -+# CONFIG_RMNET_DATA is not set -+# CONFIG_RMNET_DATA_DEBUG_PKT is not set -+CONFIG_MTD_NAND_SERIAL=y -+CONFIG_PAGE_SCOPE_MULTI_PAGE_READ=y -+# CONFIG_RMNET_DATA_FC is not set -+# CONFIG_CRYPTO_NO_ZERO_LEN_HASH is not set -+# CONFIG_CRYPTO_DISABLE_AES192_TEST is not set -+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -+# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set -+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set -+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -+CONFIG_QTI_EUD=y -+CONFIG_USB_QCA_M31_PHY=y -+CONFIG_SQUASHFS_XZ=y -+# CONFIG_SQUASHFS_ZLIB is not set -+# CONFIG_JFFS2_LZMA is not set -+CONFIG_JFFS2_ZLIB=y -+# CONFIG_LZO_COMPRESS is not set -+# CONFIG_LZO_DECOMPRESS is not set -+CONFIG_XZ_DEC=y -+# CONFIG_XZ_DEC_X86 is not set -+# CONFIG_XZ_DEC_POWERPC is not set -+# CONFIG_XZ_DEC_IA64 is not set -+CONFIG_XZ_DEC_ARM=y -+# CONFIG_XZ_DEC_ARMTHUMB is not set -+# CONFIG_XZ_DEC_SPARC is not set -+CONFIG_XZ_DEC_BCJ=y -+# CONFIG_LZO_COMPRESS is not set -+# CONFIG_LZO_DECOMPRESS is not set -+# CONFIG_CRYPTO is not set -+CONFIG_QGIC2_MSI=y -+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y -diff --git a/target/linux/ipq807x/ipq50xx/target.mk b/target/linux/ipq807x/ipq50xx/target.mk -new file mode 100644 -index 0000000000..649f398ba6 ---- /dev/null -+++ b/target/linux/ipq807x/ipq50xx/target.mk -@@ -0,0 +1,10 @@ -+ -+SUBTARGET:=ipq50xx -+BOARDNAME:=IPQ50XX -+CPU_TYPE:=cortex-a7 -+ -+DEFAULT_PACKAGES += ath11k-firmware-ipq50xx qca-nss-fw-ipq50xx -+ -+define Target/Description -+ Build firmware image for IPQ50xx SoC devices. -+endef --- -2.25.1 - diff --git a/profiles/cig_wf194c4.yml b/profiles/cig_wf194c4.yml new file mode 100644 index 000000000..2b0f1f48d --- /dev/null +++ b/profiles/cig_wf194c4.yml @@ -0,0 +1,14 @@ +--- +profile: cig_wf194c4 +target: ipq807x +subtarget: ipq807x +description: Build image for the CIG WF194C4 +image: bin/targets/ipq807x/ipq807x/openwrt-ipq807x-cig_wf194c4-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x +include: + - wifi-ax + - ucentral-ap +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=0