From ab9a301155a9dda5e4a0ebc2f9fcea05503e8a44 Mon Sep 17 00:00:00 2001 From: Shashi Date: Fri, 4 Oct 2024 19:41:19 +0530 Subject: [PATCH] ipq807x: add new files & made change for udaya outdoor wifi-6 Signed-off-by: Shashi --- feeds/ipq807x_v5.4/ath11k-wifi/Makefile | 2 + .../board-udaya-a6-od2.bin.IPQ5018 | Bin 0 -> 131072 bytes .../board-udaya-a6-od2.bin.QCN6122 | Bin 0 -> 131072 bytes .../ipq50xx/base-files/etc/board.d/02_network | 4 + .../etc/hotplug.d/firmware/10-ath11k-caldata | 2 + .../base-files/lib/upgrade/platform.sh | 2 + .../dts/qcom/qcom-ipq5018-udaya-a6-od2.dts | 900 ++++++++++++++++++ feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk | 9 + profiles/udaya_a6-od2.yml | 15 + 9 files changed, 934 insertions(+) create mode 100644 feeds/ipq807x_v5.4/ath11k-wifi/board-udaya-a6-od2.bin.IPQ5018 create mode 100644 feeds/ipq807x_v5.4/ath11k-wifi/board-udaya-a6-od2.bin.QCN6122 create mode 100755 feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-udaya-a6-od2.dts create mode 100644 profiles/udaya_a6-od2.yml diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/Makefile b/feeds/ipq807x_v5.4/ath11k-wifi/Makefile index 759aa987f..42db32320 100644 --- a/feeds/ipq807x_v5.4/ath11k-wifi/Makefile +++ b/feeds/ipq807x_v5.4/ath11k-wifi/Makefile @@ -57,6 +57,7 @@ ALLWIFIBOARDS:= \ yuncore-fap650 \ yuncore-fap655 \ udaya-a6-id2 \ + udaya-a6-od2 \ meshpp-s618 ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ath11k-wifi-$(BOARD)) @@ -413,6 +414,7 @@ $(eval $(call generate-ath11k-wifi-package,muxi-ap3220l,MUXI AP3220L)) $(eval $(call generate-ath11k-wifi-package,yuncore-fap650,YunCore FAP650)) $(eval $(call generate-ath11k-wifi-package,yuncore-fap655,YunCore FAP655)) $(eval $(call generate-ath11k-wifi-package,udaya-a6-id2,Udaya A6-ID2)) +$(eval $(call generate-ath11k-wifi-package,udaya-a6-od2,Udaya A6-OD2)) $(eval $(call generate-ath11k-wifi-package,wallys-dr5018,Wallys DR5018)) $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE)))) diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/board-udaya-a6-od2.bin.IPQ5018 b/feeds/ipq807x_v5.4/ath11k-wifi/board-udaya-a6-od2.bin.IPQ5018 new file mode 100644 index 0000000000000000000000000000000000000000..362b2165f4d7cdde125413a39b73791cc0824162 GIT binary patch literal 131072 zcmeHQ33OcLb-wS-(`ZH>OEa=Gl5APlF4-nT81FV%`(kNiS-XU>Rd9+EOhO1XCNZ(X z5)3sCNg#xb5Or~-+QyjmS-e+ z1h((f{b&CBFZaLy_uu<3Z=PlhvMl0j{LnRp7I_Zmt{s%uA$c8^*AaOgmDkIpG+rt< zbL@G9QiEgebvHPZQxa0$-01sQGSsr>m+T6T_sem(vz{H+2CTc+i8HIk&>B2%OV^Oia9-q{p5uN`}%8DhJ z#_L#oZOdf7t&y z{}d(uE&o@drT<7&_%}rPHxq@fBwE}`>*Vh*dF3>U>z6-u77$6qq!yDi`i8CcuGIaXt5b1 zVv~*z;SW1D>FD51q5h157ck?-8yB##8JbcZY+w`z#bLUOO#J=c2OI9HJyf(mmNW5r zNxSJ3X^G{&u=k;cW3|)EJs|R~j+6HV$U9ZJqi8p=+(W2)vb>YavCb!#<9;N{JE?Cm ztu!_l1omSG_Aqu|(QA^VKMO#Sxqbc4H5GG3qZy{r^f{pV!A4d@xx78Kr+qR6LIT zBV^=VLX@2Y8ULMJM$L2hg!Ah}WvIU#^^5kP{yOMTfcn2mUSD*8j0)^sOCNy@?E4BC zhb_>7`|*e5GHQPW9ngm|;81cqbl^U$g$`lV|7G&}tV1>HfUzjWSQKL{3h?=DF2*8z z31qyMTt*GXLi#X)KHQ2vj6#RasJ{sHf1A9%;J`9~W$B~P;TGrs8MzlhMlNK$np_6! zQ28`)Kp&Q)e&Gmo*o6A{JTvPz$?J;_KY$Fzf%`Fsv8d)gxHtj_!SUkMabz88S%Q5%G@9Mz5Sq2>DVpC#IUjvSR z2OVw(4j2m=%Mf({35vw!2vkV)wdakmC&IYI8?x< zR=~HG!Z&4(2|$Mw=9n7Cp2}d;Vw2p5O&E(=_=V{34d?(FE8v?;cR`0Wz=37_X9_s5 z4yZpL9acd`HGH!IW3l2^=zxCY!#9KMTQ8=d18|gi67`qE9twwn!$#oXNBtCRn#W?* z_n`yEvjR4`VjO4f-MDuHzsSue3cQ?Lhg!^WQJV&iMZj@3>y6k0MMG{WqML5tc|-ksYIf(h#?mGp7`yY*8*AQGI1)>H z;I7>t*m`yKXklDG9=Lzc?OSd@f8%iZ(Ct^=bSdN98LNBGy(715d|&02;kbT0c|XTux@rBrYxDz~udW!)kHh8Y#|Lg+|K74I@^{ACxbu#_8yenIHW+S+ zrG4nw6}N5ss};Kn<8Z#~?tu@kyQb{&C0(&{hdw@b=Os5*zq0`IjC+0T*zlo^S0|3! zL-$>F>!#}~_r~|bEuZXt`i?hQd74aGLJKGYia-(sru*G={sQbZR$|XqjXhgA*7@bw zvlXtv8kdK4Hih+V^$&3_{3_OIoTtigt}Mnrqu^rfGjJXYq_F4XwQ2S9jtra&OUG>) zg_l4E&Xw6IoGVwlYdq@9US|*XIyhJ6;#?U>@m#qYGHP(Hti-vp?8DH3aoA$_BRhq2 z*R)^LyG6hRjdQXq7q|Kim_OR^(>6B$Xx;)QaD%286SNp zp8yWdzB9bp-unhpJXgwiV((gs{c|bK5zDZ54POKua-l;C=StRr_k3~&K>ejyL&KZw zy>B4JbLHwE;9SQzpdWJ?i(2Rqy;tJy*iB8){I#xfX!4k?~1S7Cmrfs9J@BWe$Iwmk$=I9Cb|z_A>@SuzeB(1$R5 zI|$znq~O~!KR^ezhbs6*8E|0VlsN|Hh*aj7mB3NXrLgH0Y?Ex$o1g>Egem(4>+lWe z02yWQ&0?H~3f2GzmXX3aLUcfVIhW2+2eC=`W);Sw40c_NeiX28;#?U>;an+aW7L;( zDePe>_Iu%tzyasVKngZ3et~nP_yugT4C5&_3BSn0xiUM2bEP}SRiM7ialldLxIE~P z!g?e2z`lt&M&<|C9(b-z)gGRMJunXNixn;oI9JXJ2gs=9v49M*2h7#cu}Hxl#IIlv zGS_1)HFF991ikRZKhygdaMj@rq7?XD6lv?Cm70Il9wMYC@fmK ztay3JimA*b*DF&erid~rNQG2NwNytNsh--YhlXj4_R+O;kjCi<-A$jQ3Hls8LC5Kv z^e^-bJ&V8R5qknT<0xB?`X^r#dmCztB)PV_x{|NbQaosD7?W$rM+SCTxW5+24(7&d zU0PONQCU@8Q@e5%9s^9;2fNigw4bW>tb6?5arA8*J+6aJuKSo7t9PjFCY>dxqZax(^EG6sfSyx!^2%& zvC)j@hKHM*w{G3I(XAPuH#Qc}O)tsz5|bIv_4g;rjL#bzi|3}7jBoGst*2fxzP;18 zo_fidTTj$FfrDMTD9`jhv)t+Er(QDkUZq|#_104_nR@G~mz=rvgpt8;#Ff->ibn(S zxq5T@$LTzr>b1*?fFhs>C<2OrB5>9r5TIv|veF(C-}_<)48z2CHSyOqc@X!=_odF* zC&P;}UKIACd?w_Pz}a|CIiot8lekxm`?%42#^5ohCB1K)suEtvOSs1j9&=aH`^>4z_d#C5J!$YM z+?P&O{JB~#-WBXVYKo13qM??cmTk`yCu+Qq!u?Csm$*IK80MWlp^e+?r%bfHf1QEs-^0UEo^wX7T`p{pTV`85@P99#! z&mUbq^nHE^=-Q-flWjq232F&y3F-yv1?mOr1?mOr1?mNF9WU_UegeW9iO&Qg4fhZb zEQEs#`HZ0L9qD`Z;C@2lbBO3G?k6DNImAgHLJ(nWA)il7UvKfh5xAd_`26GK;e~t# zGM#-p7iGuhM!R>)y9g*AjDU;Awrz@s;-U7S{@@~@^MTF>Iv=>+pzGuLIUiW&WKiC`fdwD5U2g4bGr=V0v-NbjqK^Q?vEZ7n=+YvFlYD--?2c^1J! z@F4^d#wEF77yEfH_Ve;}P1w(Sv7bk<5Dt2=pGWX|&yoGS z7yEfH_VZrs=e^j^d$FHKFcB;SA3_je%!~az0@4FWKYRD{UhL<+*w1^hpZ8)v@5O%J zi~YP;_w)9IGQ+EVe?wmt0YyL&NF9M0rV~v*%Mh^lTK2fd?)uxE&^*OOZGyev-0_FA zYB}1Vxl&1rflH6pI{aUfYeVGTJo)cKn|YgM=%jAgcJB~PVj;3*!OcH zANNlYEQEs#`F)+~Fxed3FHQU&Q1lP?OA+urpp!m?Ai~%}em`hB`svEd!Tr+2?;o8! zypZ2P>gu8I^FzR12TxuNHO0nN@li`qOHeORFHkQ~FHkQ~FHkQ~FIadl2;zPMf{9=u zoWSn`fDdHHej@<+xSxPvAsk%D-wd$PIJ2)o+)qgSEdulp_Y)BCTLhCngdoD$LjFd< zneAbsv>@&$B>o1%==yLj`a=lkSp*ZoLO6ln$O0e8j{Qy+@^PL;un-O|v>;XIr8 zdtB%r&a(*kJ+4U~LJ(nWA%CaqO!qNfUI^#e#NPp%JiL&<1s1Q%`52F%KQ*ohC<2Or zBA^H;0*XL75I7(ASlZ`v7lFl8Y;o_Vo(SZb=3d(Gzs=7)e)yE`yYG=lIDY&%r4(lw zmbI4-<{i)Xh3^l~N5-atqN3NAerwrWWU$V9DFTYX{1M0|t8o5ORDvR)2q*%IfFhs> zC<2OrBA^H;0%sP1x+(tK^9KLDFvWkfk^foZzh|cSuaEd|WQzZ0BSXt70*Zhlpa>`e zihv@Z2q*&Q1_C)``Ob}=XfG52ML-cy1QY>9V73SZY5#1i%&UBeMy3Au%^k+P1f8;S zE*;XR8%~LgCMp7ofFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2PWToG6@ z?Wu|*OKeGL_^4y9Dr!ANKoL*`6ahs*5l9mPd1TeHXp1%wHMBC-PJll_zXd3p!sko9a^ACvHPGy=Yz zN%%F?3%;32__b69zL81zYgvBd2ov~H+9-SrHMZFK{oG#TD3g@mO1}mlVG_Px%J);F zqhGV=vx6FU*!iuJ-$0EGHs3|Rr_9D)0tudDQofrSyY2kFQofBE9sCA8+`m>PY43W@ z?`&rh{vh*B5hmdeVT7oufl2ryEWdMvN%*78H?=a=vVq*g_4}KdB>$829Az|h5lHlV zkcLpcn@RFNE%k?~$+4fugx^6;PJfRJ-$_lKcKNRh-%Cx-_>UXheg~7tdz#yC?`0Bx ziMa>)LrlVdoAaASn1uhX@T1h^jK{OgH+M2g{__+BA7K*y1s<>F9ZbT%$b3r^lkjUi z>%q4%3IAi(w{MV1_+PX9mKG-AeQL<0Yc)5hls6=la`Qn1sLE!2Gv;2b1u}j3e;RQ6}N1iKFbV%D z<2AB6dkG}?KFsZP4lzmo=b7&sWD@>S#;2>1N%+SkzmK{cJia7+2X#62a9sF)>T>k| zs_+BU<>2`g%Zuz_5_vV;pGYT@@ZaI`ks&7G|IH`@Kf)yZ_l(QH4>Ae=f|T#4h|^xX z344gNGfDo7lE0H8&UpM-_+E-Q_WD!d2Pop`_c;5{NI#R*f64eAsc)TWjA4MEIPZ%rFUIUZJ-^c4sB*G-T zWxh<*-M}P#!2AXH9wy;~y#94}F$te5>tQ!FIPDipeiL;&`mHk2zwS{cDZkzXzTIt1 z!Z(}n&qxn}#9l7s{&#mUN&aS$H$dGEewUi?zwTBh$#0bW9n|fNH!;5>!X)|IP55(9 zCzJ3UEWc-nN%$S+FTpo32|sAUetO!NgdY}ugnAtN*d=@m^*H#B3ExgVjy>$-_ItXR zr2c;4`>Dqn?*rW5o?Ze;f8TFnJa#rPN%;?Q`Q8>L;cpgx2lYDryT!!%-aEh~`5)%? zdxw~WKg#7ByO@MO#(ZBplkgws^{TU*N%&7N-_^t<{C!+L(#j>+`3jy$JO=Xp_YW}%-{^sV^^YA4hq1C#JU59aHJ z7AE00d;Ub8wnhSpJ+^zoWDN8XNca|$`3Ql8AN62AIxxZ{^>?v;1EWlKd)&Xl0Vd&h zd&gKbPwe!tjPD-AjJcmwkzEliUC4C6mK z#3cL?<7Zf}dYFWNJcs#<*17zXgk5A)8iZvz*L~&E%mi@uxW)HsYt1^B{tGw@})fq3-1y~K=X8xQm%($7}Zrx9Ho+DIe-9Z;w|3Pc4pU}nD&uFbR zM(eZw0^tgTD`}no9SD1Ao$oJcz3-g}SJ8U^K7@B6>__lZruiH#!pfA5-F!Ay%rHq|!$L;cV zJibhUQ=ZFmxZnQ;e;(}Bjz1ZVKjwc5@p|I&cDzx_fK7T`xa5ONT=`v29J41qy5#54 z^fh@m=kYukLU7~UmK*2#Zk+q##`&K%+<0y*4u6WKo30!eH!hF-_%eL@bmf?~%pc@U zI5@1y<2Vtg-;8(<`2+_y&TYAI*1?Ulo_3t#%G+b-mWjzEcwel1OlEw$w$4sn=@-Xq zp--$WpY)5<^C%Vvwh84Klk4)Y2v49c>tM(2akt~Po^Cu=#%{~48!v}-cG6AO$1P*W zyQQu8xLw{(Unb?d!){-$%eT|*cJ265rwr?Cx7!^?AIYx!LOzd+U7q8v{&t+Py)OTs zrHrjZZd~81C2s3u$8GsJ2G&*gvddd8>(tMT@;!*fm&YOlKBfWl zCK-OWg2Ve<{!G6I4b$r(PiUJX*ygPS-lEKc@;e2+hxVkf*w?egDiF|dp!$TXB7CWU0`ii{bm2I(ngB<0MREN?Av6a~u z^QhspZrArvMsB^6k6*e*eqK~SeFl%06{>Od75uEc)e%P?@V02t@(Vj0UhuTm?{wtZ z_*$V&4qtCE-d3o=;bAX~e`!3QL7wp1t<6$`^E2=*(CaR-RpRj#d)aOaaQk2F2;lyC z$iJ-Kk#D!3RlLLD>yd9jqI=bQ?D4Vsi9)Gx3^%^2n9)UJ5KG3IrD8HIod?w;m%4uRiSCiL&{H{EK4pnb#}* z2)OI0u`DCHrW*NEh|8Kv#$H?1Bm4i{bTY~cV)7BMD!7T)ayeMsRAiUOfj7FwVY>W$jot*?0lIjB&kly$L+g>kInmber%sMF8P>roXgISZL@4XmT#AjZp(1Dg!Rb^ zy7iF{p64w4It7pZ$h74a(RW4QoI-$iLLRK)d|tvH80-0BoQ(3Ye&=J|<f8!fPR3 zIX8^l0(b;I6MPF@M&(;b8C69QPy`f#G$D{re@>I+vqNmy>HqkVBS(UvQ0NG@k0IRp zi|s1Uj(*Hl%K|zoH##>?y}5r=xNCB{Kl_{ZPkudsUk|(|wk4k{3|j9kf`eihv@Z2q*%IfFhs>C<2OrBA^H; z0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2Or zBA^H;0*b&~5Liavo=dg2T%BSXw{^26CC89KoL*`6ahs*5l{pa0YyL&Py`eK zML-cy1QY>9KoL*`6ahs*5l{pa0YyL&Py`eKML-cy1QY>9KoL*`6ahs*5l{pa0YyL& zPy`eKML-cy1QY>9KoL*`6ahs*5l{pa0YyL&Py`eKML-cy1QY>9KoL*`6ahs*5l{pa z0YyL&Py`eKML-cy1k!9KoL*`6ahs* b5l{pa0YyL&Py`eKML-cy1QdZc34#9yB9>k( literal 0 HcmV?d00001 diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/board-udaya-a6-od2.bin.QCN6122 b/feeds/ipq807x_v5.4/ath11k-wifi/board-udaya-a6-od2.bin.QCN6122 new file mode 100644 index 0000000000000000000000000000000000000000..0869828aa8056fffbab90aefd75e950ca010385f GIT binary patch literal 131072 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 + #size-cells = <0x2>; + model = "Udaya A6-OD2"; + compatible = "udaya,a6-od2", "qcom,ipq5018"; + interrupt-parent = <&intc>; + + aliases { + sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ + serial0 = &blsp1_uart1; + serial1 = &blsp1_uart2; + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; + bootargs-append = " swiotlb=1 coherent_pool=2M"; + stdout-path = "serial0"; + }; + + reserved-memory { + #ifdef __IPQ_MEM_PROFILE_256_MB__ + /* 256 MB Profile + * +==========+==============+=========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +----------+--------------+-------------------------+ + * | NSS | 0x40000000 | 8MB | + * +----------+--------------+-------------------------+ + * | Linux | 0x40800000 | Depends on total memory | + * +----------+--------------+-------------------------+ + * | uboot | 0x4A600000 | 4MB | + * +----------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +----------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +----------+--------------+-------------------------+ + * | TZ | 0x4AC00000 | 4MB | + * +----------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4B000000 | 20MB | + * | data | | | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | data | 0x4C400000 | 13MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D100000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D300000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E000000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E100000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4E200000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4EF00000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4F000000 | 1MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x4100000>; + }; + + q6_code_data: q6_code_data@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x1400000>; + }; + + q6_ipq5018_data: q6_ipq5018_data@4C400000 { + no-map; + reg = <0x0 0x4C400000 0x0 0xD00000>; + }; + + m3_dump: m3_dump@4D100000 { + no-map; + reg = <0x0 0x4D100000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E000000 { + no-map; + reg = <0x0 0x4E000000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E100000 { + no-map; + reg = <0x0 0x4E100000 0x0 0x100000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E200000 { + no-map; + reg = <0x0 0x4E200000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4EF00000 { + no-map; + reg = <0x0 0x4EF00000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F000000 { + no-map; + reg = <0x0 0x4F000000 0x0 0x100000>; + }; + #else + /* 512MB/1GB Profiles + * +==========+==============+=========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +----------+--------------+-------------------------+ + * | NSS | 0x40000000 | 16MB | + * +----------+--------------+-------------------------+ + * | Linux | 0x41000000 | Depends on total memory | + * +----------+--------------+-------------------------+ + * | uboot | 0x4A600000 | 4MB | + * +----------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +----------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +----------+--------------+-------------------------+ + * | TZ | 0x4AC00000 | 4MB | + * +----------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4B000000 | 20MB | + * | data | | | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | data | 0x4C400000 | 13MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D100000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | Caldb | 0x4D300000 | 2MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D500000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E300000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | Caldb | 0x4E400000 | 5MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4E900000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4F600000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4F700000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | Caldb | 0x4F800000 | 5MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x4D00000>; + }; + + q6_code_data: q6_code_data@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 01400000>; + }; + + q6_ipq5018_data: q6_ipq5018_data@4C400000 { + no-map; + reg = <0x0 0x4C400000 0x0 0xD00000>; + }; + + m3_dump: m3_dump@4D100000 { + no-map; + reg = <0x0 0x4D100000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_caldb_region: q6_caldb_region@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0x200000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D500000 { + no-map; + reg = <0x0 0x4D500000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E200000 { + no-map; + reg = <0x0 0x4E200000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E300000 { + no-map; + reg = <0x0 0x4E300000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_1: q6_qcn6122_caldb_1@4E400000 { + no-map; + reg = <0x0 0x4E400000 0x0 0x500000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E900000 { + no-map; + reg = <0x0 0x4E900000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4F600000 { + no-map; + reg = <0x0 0x4F600000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F700000 { + no-map; + reg = <0x0 0x4F700000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_2: q6_qcn6122_caldb_2@4F800000 { + no-map; + reg = <0x0 0x4F800000 0x0 0x500000>; + }; + + #endif + }; + + soc { + serial@78af000 { + status = "ok"; + }; + + blsp1_uart2: serial@78b0000 { + pinctrl-0 = <&blsp1_uart_pins>; + pinctrl-names = "default"; + }; + + qpic_bam: dma@7984000{ + status = "ok"; + }; + + nand: qpic-nand@79b0000 { + pinctrl-0 = <&qspi_nand_pins>; + pinctrl-names = "default"; + status = "ok"; + }; + + spi_0: spi@78b5000 { /* BLSP1 QUP0 */ + pinctrl-0 = <&blsp0_spi_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; + }; + }; + + mdio0: mdio@88000 { + status = "ok"; + + ethernet-phy@0 { + reg = <7>; + }; + }; + + mdio1: mdio@90000 { + status = "ok"; + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 39 0>; + + ethernet-phy@0 { + reg = <28>; + }; + }; + + ess-instance { + num_devices = <0x1>; + ess-switch@0x39c00000 { + switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ + cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <7>; + mdiobus = <&mdio0>; + }; + port@1 { + port_id = <2>; + phy_address = <0x1c>; + mdiobus = <&mdio1>; + port_mac_sel = "QGMAC_PORT"; + }; + }; + led_source@0 { + source = <0>; + mode = "normal"; + speed = "all"; + blink_en = "enable"; + active = "high"; + }; + }; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <1>; + reg = <0x39C00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <7>; + mdio-bus = <&mdio0>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + qcom,rx-page-mode = <0>; + }; + + dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <2>; + reg = <0x39D00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <28>; + mdio-bus = <&mdio1>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + qcom,rx-page-mode = <0>; + }; + + nss-macsec1 { + compatible = "qcom,nss-macsec"; + phy_addr = <0x1c>; + mdiobus = <&mdio1>; + }; + + pcm: pcm@0xA3C0000{ + pinctrl-0 = <&audio_pins>; + pinctrl-names = "default"; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + + led_power: led@30 { + label = "green:power"; + gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + }; + }; + + qcom,test@0 { + status = "ok"; + }; + + thermal-zones { + status = "ok"; + }; +}; + +&tlmm { + pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; + pinctrl-names = "default"; + + blsp0_uart_pins: uart_pins { + blsp0_uart_rx_tx { + pins = "gpio20", "gpio21"; + function = "blsp0_uart0"; + bias-disable; + }; + }; + + blsp1_uart_pins: blsp1_uart_pins { + blsp1_uart_rx_tx { + pins = "gpio23", "gpio25", "gpio24", "gpio26"; + function = "blsp1_uart2"; + bias-disable; + }; + }; + + blsp0_spi_pins: blsp0_spi_pins { + mux { + pins = "gpio10", "gpio11", "gpio12", "gpio13"; + function = "blsp0_spi"; + drive-strength = <2>; + bias-disable; + }; + }; + + qspi_nand_pins: qspi_nand_pins { + qspi_clock { + pins = "gpio9"; + function = "qspi_clk"; + drive-strength = <8>; + bias-disable; + }; + + qspi_cs { + pins = "gpio8"; + function = "qspi_cs"; + drive-strength = <8>; + bias-disable; + }; + + qspi_data { + pins = "gpio4", "gpio5", "gpio6", "gpio7"; + function = "qspi_data"; + drive-strength = <8>; + bias-disable; + }; + }; + + mdio1_pins: mdio_pinmux { + mux_0 { + pins = "gpio36"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mux_1 { + pins = "gpio37"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + phy_led_pins: phy_led_pins { + gephy_led_pin { + pins = "gpio46"; + function = "led0"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + i2c_pins: i2c_pins { + i2c_scl { + pins = "gpio25"; + function = "blsp2_i2c1"; + drive-strength = <8>; + bias-disable; + }; + + i2c_sda { + pins = "gpio26"; + function = "blsp2_i2c1"; + drive-strength = <8>; + bias-disable; + }; + }; + + button_pins: button_pins { + reset_button { + pins = "gpio38"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + leds_pins: leds_pins { + led_status { + pins = "gpio30"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + audio_pins: audio_pinmux { + mux_1 { + pins = "gpio24"; + function = "audio_rxbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_2 { + pins = "gpio25"; + function = "audio_rxfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_3 { + pins = "gpio26"; + function = "audio_rxd"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_4 { + pins = "gpio27"; + function = "audio_txmclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_5 { + pins = "gpio28"; + function = "audio_txbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_6 { + pins = "gpio29"; + function = "audio_txfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_7 { + pins = "gpio30"; + function = "audio_txd"; + drive-strength = <8>; + bias-pull-down; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; +}; + +&q6v5_wcss { + compatible = "qcom,ipq5018-q6-mpd"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + firmware = "IPQ5018/q6_fw.mdt"; + reg = <0x0cd00000 0x4040>, + <0x1938000 0x8>, + <0x193d204 0x4>; + reg-names = "qdsp6", + "tcsr-msip", + "tcsr-q6"; + resets = <&gcc GCC_WCSSAON_RESET>, + <&gcc GCC_WCSS_Q6_BCR>; + + reset-names = "wcss_aon_reset", + "wcss_q6_reset"; + + clocks = <&gcc GCC_Q6_AXIS_CLK>, + <&gcc GCC_WCSS_ECAHB_CLK>, + <&gcc GCC_Q6_AXIM_CLK>, + <&gcc GCC_Q6_AXIM2_CLK>, + <&gcc GCC_Q6_AHB_CLK>, + <&gcc GCC_Q6_AHB_S_CLK>, + <&gcc GCC_WCSS_AXI_S_CLK>; + clock-names = "gcc_q6_axis_clk", + "gcc_wcss_ecahb_clk", + "gcc_q6_axim_clk", + "gcc_q6_axim2_clk", + "gcc_q6_ahb_clk", + "gcc_q6_ahb_s_clk", + "gcc_wcss_axi_s_clk"; + + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_mem_regions>, <&q6_etr_region>; + #else + memory-region = <&q6_mem_regions>, <&q6_etr_region>, + <&q6_caldb_region>; + #endif + + qcom,rproc = <&q6v5_wcss>; + qcom,bootargs_smem = <507>; + boot-args = <0x1 0x4 0x3 0x0F 0x0 0x0>, + <0x2 0x4 0x2 0x12 0x0 0x0>; + status = "ok"; + q6_wcss_pd1: remoteproc_pd1@4ab000 { + compatible = "qcom,ipq5018-wcss-ahb-mpd"; + reg = <0x4ab000 0x20>; + reg-names = "rmb"; + firmware = "IPQ5018/q6_fw.mdt"; + m3_firmware = "IPQ5018/m3_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 8 0>, + <&wcss_smp2p_in 9 0>, + <&wcss_smp2p_in 12 0>, + <&wcss_smp2p_in 11 0>; + interrupt-names = "fatal", + "ready", + "spawn-ack", + "stop-ack"; + + resets = <&gcc GCC_WCSSAON_RESET>, + <&gcc GCC_WCSS_BCR>, + <&gcc GCC_CE_BCR>; + reset-names = "wcss_aon_reset", + "wcss_reset", + "ce_reset"; + + clocks = <&gcc GCC_WCSS_AHB_S_CLK>, + <&gcc GCC_WCSS_ACMT_CLK>, + <&gcc GCC_WCSS_AXI_M_CLK>; + clock-names = "gcc_wcss_ahb_s_clk", + "gcc_wcss_acmt_clk", + "gcc_wcss_axi_m_clk"; + + qcom,halt-regs = <&tcsr_q6_block 0xa000 0xd000 0x0>; + + qcom,smem-states = <&wcss_smp2p_out 8>, + <&wcss_smp2p_out 9>, + <&wcss_smp2p_out 10>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_ipq5018_data>, <&m3_dump>, + <&q6_etr_region>; + #else + memory-region = <&q6_ipq5018_data>, <&m3_dump>, + <&q6_etr_region>, <&q6_caldb_region>; + #endif + + }; + + q6_wcss_pd2: remoteproc_pd2 { + compatible = "qcom,ipq5018-wcss-pcie-mpd"; + firmware = "IPQ5018/q6_fw.mdt"; + m3_firmware = "qcn6122/m3_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 16 0>, + <&wcss_smp2p_in 17 0>, + <&wcss_smp2p_in 20 0>, + <&wcss_smp2p_in 19 0>; + interrupt-names = "fatal", + "ready", + "spawn-ack", + "stop-ack"; + + qcom,smem-states = <&wcss_smp2p_out 16>, + <&wcss_smp2p_out 17>, + <&wcss_smp2p_out 18>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, + <&q6_qcn6122_etr_1>; + #else + memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, + <&q6_qcn6122_etr_1>, <&q6_qcn6122_caldb_1>; + #endif + + }; + + q6_wcss_pd3: remoteproc_pd3 { + compatible = "qcom,ipq5018-wcss-pcie-mpd"; + firmware = "IPQ5018/q6_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 24 0>, + <&wcss_smp2p_in 25 0>, + <&wcss_smp2p_in 28 0>, + <&wcss_smp2p_in 27 0>; + interrupt-names = "fatal", + "ready", + "spawn-ack", + "stop-ack"; + + qcom,smem-states = <&wcss_smp2p_out 24>, + <&wcss_smp2p_out 25>, + <&wcss_smp2p_out 26>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, + <&q6_qcn6122_etr_2>; + #else + memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, + <&q6_qcn6122_etr_2>, <&q6_qcn6122_caldb_2>; + #endif + }; +}; + +&i2c_0 { + pinctrl-0 = <&i2c_pins>; + pinctrl-names = "default"; +}; + +&wifi0 { + /* IPQ5018 */ + qcom,multipd_arch; + qcom,rproc = <&q6_wcss_pd1>; + qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x23>; +#ifdef __CNSS2__ + qcom,bdf-addr = <0x4C400000 0x4C400000 0x4C400000 0x0 0x0>; + qcom,caldb-addr = <0x4D300000 0x4D300000 0 0 0>; + qcom,caldb-size = <0x200000>; + mem-region = <&q6_ipq5018_data>; +#else + memory-region = <&q6_ipq5018_data>; +#endif + status = "ok"; +}; + +&wifi1 { + /* QCN6122 5G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd2"; + qcom,rproc = <&q6_wcss_pd2>; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x60>; +#ifdef __CNSS2__ + qcom,bdf-addr = <0x4D500000 0x4D500000 0x4D300000 0x0 0x0>; + qcom,caldb-addr = <0x4E400000 0x4E400000 0 0 0>; + qcom,caldb-size = <0x500000>; + mem-region = <&q6_qcn6122_data1>; +#else + memory-region = <&q6_qcn6122_data1>; +#endif + status = "ok"; +}; + +&wifi2 { + /* QCN6122 6G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; + qcom,rproc = <&q6_wcss_pd3>; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0xb0>; +#ifdef __CNSS2__ + qcom,bdf-addr = <0x4E900000 0x4E900000 0x4E200000 0x0 0x0>; + qcom,caldb-addr = <0x4F800000 0x4F800000 0 0 0>; + qcom,caldb-size = <0x500000>; + mem-region = <&q6_qcn6122_data2>; +#else + memory-region = <&q6_qcn6122_data2>; +#endif + status = "disabled"; +}; + +&usb3 { + status = "ok"; + device-power-gpio = <&tlmm 24 1>; +}; + +&dwc_0 { + /delete-property/ #phy-cells; + /delete-property/ phys; + /delete-property/ phy-names; +}; + +&hs_m31phy_0 { + status = "ok"; +}; + +&eud { + status = "ok"; +}; + +&pcie_x1 { + perst-gpio = <&tlmm 18 GPIO_ACTIVE_LOW>; +}; + +&pcie_x2 { + perst-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>; +}; + +&pcie_x1_rp { + status = "disabled"; + + mhi_0: qcom,mhi@0 { + reg = <0 0 0 0 0 >; + }; +}; + +&pcie_x2_rp { + status = "disabled"; + + mhi_1: qcom,mhi@1 { + reg = <0 0 0 0 0 >; + + }; +}; diff --git a/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk b/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk index c0370770b..40d84a394 100644 --- a/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk +++ b/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk @@ -80,6 +80,15 @@ define Device/udaya_a6_id2 endef TARGET_DEVICES += udaya_a6_id2 +define Device/udaya_a6_od2 + DEVICE_TITLE := Udaya A6 - OD2 + DEVICE_DTS := qcom-ipq5018-udaya-a6-od2 + SUPPORTED_DEVICES := udaya,a6-od2 + DEVICE_PACKAGES := ath11k-wifi-udaya-a6-od2 ath11k-firmware-ipq50xx-spruce ath11k-firmware-qcn6122 + DEVICE_DTS_CONFIG := config@mp03.5-c1 +endef +TARGET_DEVICES += udaya_a6_od2 + define Device/wallys_dr5018 DEVICE_TITLE := Wallys DR5018 DEVICE_DTS := qcom-ipq5018-wallys-dr5018 diff --git a/profiles/udaya_a6-od2.yml b/profiles/udaya_a6-od2.yml new file mode 100644 index 000000000..d9682566d --- /dev/null +++ b/profiles/udaya_a6-od2.yml @@ -0,0 +1,15 @@ +--- +profile: udaya_a6_od2 +target: ipq50xx +subtarget: generic +description: Build image for the Udaya A6 - od2 +image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-udaya_a6_od2-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x_v5.4 +include: + - ucentral-ap +packages: + - ipq50xx +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=512