From 5f4d07d76fc5cb10d5b5b88416ccf1828d1b0595 Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Fri, 29 Nov 2019 11:55:52 +0800 Subject: [PATCH] releases: release v2.0.2 Signed-off-by: Sean Cross --- releases/v2.0.2/evt-bios-v2.0.2.elf | Bin 0 -> 181808 bytes releases/v2.0.2/evt-csr-v2.0.2.h | 635 +++++++++++++++++++ releases/v2.0.2/evt-foboot-v2.0.2.dfu | Bin 0 -> 104106 bytes releases/v2.0.2/evt-multiboot-v2.0.2.bin | Bin 0 -> 104250 bytes releases/v2.0.2/evt-soc-v2.0.2.h | 58 ++ releases/v2.0.2/evt-spi-bios-v2.0.2.elf | Bin 0 -> 181808 bytes releases/v2.0.2/evt-spi-csr-v2.0.2.h | 635 +++++++++++++++++++ releases/v2.0.2/evt-spi-foboot-v2.0.2.dfu | Bin 0 -> 104106 bytes releases/v2.0.2/evt-spi-multiboot-v2.0.2.bin | Bin 0 -> 104250 bytes releases/v2.0.2/evt-spi-soc-v2.0.2.h | 58 ++ releases/v2.0.2/evt-spi-updater-v2.0.2.dfu | Bin 0 -> 112844 bytes releases/v2.0.2/evt-updater-v2.0.2.dfu | Bin 0 -> 112844 bytes releases/v2.0.2/hacker-bios-v2.0.2.elf | Bin 0 -> 181816 bytes releases/v2.0.2/hacker-csr-v2.0.2.h | 635 +++++++++++++++++++ releases/v2.0.2/hacker-foboot-v2.0.2.dfu | Bin 0 -> 104106 bytes releases/v2.0.2/hacker-multiboot-v2.0.2.bin | Bin 0 -> 104250 bytes releases/v2.0.2/hacker-soc-v2.0.2.h | 58 ++ releases/v2.0.2/hacker-updater-v2.0.2.dfu | Bin 0 -> 112844 bytes releases/v2.0.2/pvt-bios-v2.0.2.elf | Bin 0 -> 181808 bytes releases/v2.0.2/pvt-csr-v2.0.2.h | 635 +++++++++++++++++++ releases/v2.0.2/pvt-foboot-v2.0.2.dfu | Bin 0 -> 104106 bytes releases/v2.0.2/pvt-multiboot-v2.0.2.bin | Bin 0 -> 104250 bytes releases/v2.0.2/pvt-soc-v2.0.2.h | 58 ++ releases/v2.0.2/pvt-updater-v2.0.2.dfu | Bin 0 -> 112844 bytes 24 files changed, 2772 insertions(+) create mode 100644 releases/v2.0.2/evt-bios-v2.0.2.elf create mode 100644 releases/v2.0.2/evt-csr-v2.0.2.h create mode 100644 releases/v2.0.2/evt-foboot-v2.0.2.dfu create mode 100644 releases/v2.0.2/evt-multiboot-v2.0.2.bin create mode 100644 releases/v2.0.2/evt-soc-v2.0.2.h create mode 100644 releases/v2.0.2/evt-spi-bios-v2.0.2.elf create mode 100644 releases/v2.0.2/evt-spi-csr-v2.0.2.h create mode 100644 releases/v2.0.2/evt-spi-foboot-v2.0.2.dfu create mode 100644 releases/v2.0.2/evt-spi-multiboot-v2.0.2.bin create mode 100644 releases/v2.0.2/evt-spi-soc-v2.0.2.h create mode 100644 releases/v2.0.2/evt-spi-updater-v2.0.2.dfu create mode 100644 releases/v2.0.2/evt-updater-v2.0.2.dfu create mode 100644 releases/v2.0.2/hacker-bios-v2.0.2.elf create mode 100644 releases/v2.0.2/hacker-csr-v2.0.2.h create mode 100644 releases/v2.0.2/hacker-foboot-v2.0.2.dfu create mode 100644 releases/v2.0.2/hacker-multiboot-v2.0.2.bin create mode 100644 releases/v2.0.2/hacker-soc-v2.0.2.h create mode 100644 releases/v2.0.2/hacker-updater-v2.0.2.dfu create mode 100644 releases/v2.0.2/pvt-bios-v2.0.2.elf create mode 100644 releases/v2.0.2/pvt-csr-v2.0.2.h create mode 100644 releases/v2.0.2/pvt-foboot-v2.0.2.dfu create mode 100644 releases/v2.0.2/pvt-multiboot-v2.0.2.bin create mode 100644 releases/v2.0.2/pvt-soc-v2.0.2.h create mode 100644 releases/v2.0.2/pvt-updater-v2.0.2.dfu diff --git a/releases/v2.0.2/evt-bios-v2.0.2.elf b/releases/v2.0.2/evt-bios-v2.0.2.elf new file mode 100644 index 0000000000000000000000000000000000000000..7dae84c73fef49833bea2bc91f746734cdd407a7 GIT binary patch literal 181808 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ÐrLknvxX-f2Knb=D$qKchOJf@XO*ZhF^IXJNDv^ zEQjQVGw&@*WMLmRZ0T#zLF})3_X1dMen-KtG=rl7)|v0aM8dN0>5sF~>`4AMnRikp zZZvI5V6(Z7v75}BsGYZ%tJsJw=H-b1x0+)qz^&%m)&RTA<}BqQGmGZtVe@7x&u%l5 z`5rN!&H#ASJTM$!kJ*ad_n6t4iuIw{o6LS=CekLHG;gQYd~2q#!@e`KnRdz?Oo^N} zAM^wK&8!##aK?O{;0W*Vx}u$m{Lv$^bUnZ?IQxv2S1v zTXB;F;7~ib`fJdAMD8W6>T3BP}ac4Y7#Z%7VSpfT--4x`0 z$B6-W-WfLo;EFGtMCx9F{O{I;F`49>$4Xiu4)wR+8$SOM>`>^6JPqPQQMpM1J zebWbi(i3R8tY*}#B*aI*lm>r{e6mUD#hw}qzsQKjl?C0JI?5Dn+ zS<;|v*dSTb*^g4Whc_X1L_Y2FIUi6?Bm0bpKkBt*@W;JKIi?R_Uru_Ja?3bQ%JUv7 zhM)Z?yLx7O8lr+P*wMv5uxl>Nv*2IUmAzFqf%-c4nq>IpkM@RNv4R4uJjTIv@hw!q zs_(kNuRe#JJbycf)q)e`ZE-^?){>Rf&PzA4mdi56!C!hqTlmY(m)P9P&3?>%g(=wV z6{f-Aywbdo`m@SB#2Qzd^CtkTF<%)9aFrR~+7rQl8kFn9jXI)0S5-<|*RLrCZH z6_BI<3;Iz{uY%toc_sXYJy*kTeC!JNO~x@C6V23S8T4D6AWiI92uuCzY}|r)7ddRY zs$ug#yBMr@d`f2jo7TSnS1dw(T`RYur+QXg@AX{VGwTuW`|2h&jLL3Ayj4D_+KssZ ze&@$;_R^xiLda>b=W6)P=Cj9}_uUA;MW5T?$L5f_%`)b1TaNOacD`HT550i&!xn6T zfA(0GJG?jY%C6{i7WiEu43)oN^0Tv_=vpq{|oDh@6ECkmTiEaxP+~h%@*b!B)7P1g-UM)~`5d{p-Ap5scbUH@@?P@*Nggya*!taOAxR!HZPxvi zIf<-2YktO(51RRm9Wozh_TQP&6x1tbDbtRc?;%Y#s?~MGciT+bvj&jio@3A)nb!R_ z*45)Uv2kCK=|0QZnEtO*umcuQY&*;+S-?Z)T`b`_^Bj=L%+_e~)c8JTX!+K)9`?LW zjA#FiZON%7^SRT=-}%QW_bK-fKQ*6io0iMe3wE%o>EjsAn@M(N4A}~Q=2fgNzXR(o zdW?BXhB0;aUNTiRh|E?GWXUzVNi+Wl%UnF17#!P^XqCB(4ZGT`VNn~+kD32^^92^R z*(@ZVx0q!_-fDhHzP6gP+1}=UP%O^WDnWmA<#AM%VbZp?28`zE+O_5&h9a@Ed${AN+=WcEN9y^jr9i zKYJX0lP$a9H$6y9%-(JAn;CoIH-CqzE&jsP*z+EQ-?BgbR&U=0zx9&s@Y@`C41U{} z?}y*%g`My_*FFJ1kbNioE-fB_-*rC2y&hpWKKgd}3HPx4#MLZ+UA(XN{v~?0`S|{5|l;>?BRfTP%6}9rR~xW$Mg*Y-4^Kaz5)D zw!NS?`7E5k*3B7wH~iAhVKrBnpOD8D=5B(OW*@fsO7pKQezp0~JpgOW{j3HLB3br2a|prJ z=Fe>NdUMRZ02|E4PXcT-^GJEExtp@N-YlTdZZf|n@@BI;E5F4oe;D95=3X*)yE&ev z+-dHh=BlI=Nu5}3Mhc6~Dq;cIm($M)Quev)*`V|Hk%cKU$@$bjQ!A$}VQF~< z#Lsw=l9>4nQ}ZuiX|o2CpMp5%Ej++*(F*cVHH4JaC9JDv7~48;8|#`M&z@g!6H8cl zh#W53Nt#P0v40l7K~XK4N%~8Vu|>tpkt~BG>sw>TRS=cIb4TZSc zyobm&=KIuutIQTuleK0Er0yCtUf6Y_bW-%*0 zU~Qpbp0n1FtLLphlHC`qR;=`pB@NAsmNYakS<=wFV(nrnN2~?}zqex9)o)t;SmrTn z1Y7tAYZ%ksvW~FYx2>KO**n&yx9*ra{aS) zGbul`zGV-6Y;|GUCsqUY@~2i2(>}8x*_EEfFSg|bSOKUr|=qu|KIs4lBhP?d6 zYD=yCtF?e>-&h@(;iT1`-T1B5l$?EM#WQxw8cTLhTZPQ`H>&~r>3b`e75!k1AUI>i zP%VD6T9f&otb57Q&(>R{TqX=E(Q*-#eJOU47pE#C7bWjbazMzE+%MzU#zk_QNLe zCCj{C)G+M^v5tk^C<+9BHsv=WjyiFxC}$0|;u13oi@rzPOPSp(R75h>K&BjQUI{d>`l?R!dud^YT;c$~GrE?#EZ8zP1hd{dN=iDSaY zGXEf2FvDBoY^J>}K46*eh<@bkU9p8syeG!8DesFZ1jogCs?8roQ?mPkILz3e#6hN= z5H-yHXK@Yt;Y0Bh8}^YnhlPDC;u!lxJkETdig=QICN?qlxfsmu_(B{Z6JLsXEb}Yz z82S8K^ru+=A~sUir^H(<<+M1#`u--aVA}Vh6Z8EbZl^|`5d+!iAH`QJsx7`WYJgJ%~{bZ`(Bc)w(p}(tg$z; zDBZR8GbmG9M)?l36LDJNG?wpom?A6K|Cj(jLo z_u<6<;g47T^XN(IYv;fBkmFx`@@1vIh=FE5dl0_k9D?ufPfXNWhNA}(-{4|~8$G~q z{^`mJ-B+U9eH+X?#ZOX+t!M0}@M=IT6w zn7~^MciBh3>-Y4#w&8|5lMIP1T4`sW)N&~ zv0DLlyFr3Ia47JyS_Tff_+Qq20qbTRrcpq^T7Fr|uPYDh*3sro9)SdPBx zioP*WZX-CKiwPATrd<3BN{II;`Qo#mxU5|>Yg-STATyXCo!(#xycsN7JdnW~B~YKB5B z1JwpN@^=};Y1cBg6^{G?6B1IGa~KF+iQs`jzQaS1DNr-1O;+ zr+q*jgwwKwQ6VZt4c$>enu!ZSY-kCJKtn+(6*jLK#0zH`@uAEL=QD1#jfKW>MY|nz zJ0xvVh*seuX-T&;qFjZGq&*J06A|SqTqLb+!uY_EU&1&zyud)q#bCUQ4rP?V^l++b zL}UScwhhswdDNPeNEriH9}C1=Msi3DtSm|5hW!E;nV)pYaKzi1c*$(BEMrJ5;bu6~ z2r2M7L^sIf#84Fq7gokhn;;h-0C33Q)*MwiF&;%?j66jND~#dVeXLEFdi`S<+QT&?=ndOrs@TO$4pN zk#>|uOS**-vMI!flyZ{B#GlRViNMk zWF2CKByo&JOu`M3#0p7bT@)nT0%sXvgRO9+)r~vpwn^Hs$xt}bMroF6JLq;u+W1<+ z-EfYPybxBG!96lMgi)o2ESb4<#Zb6NPWFQCprj3Rt#FaFq&pH(uEIsq9tGX8h;kJ! zlJ*4XzV^x`jBP=Kldqcd4p1b~1*>o@%AOk5b7nsS=f^@Uv3pXxkW5Z{39@c2gTiaJ zpZN{2K+-6Ulx%f?)5XeoK;pt38He~ga6Y4vF}U2UEsljQ!>PDx7xR%;FHhlEcOWj@ zF4ARbWvViWkC%98ZUjB?mJ#NQ@!=kAtVXNww$T9Gs**{W=25rNsKfY1Xq*wECvBET z-$A1f<6UW}@<}^O(*F|A%hs}^v~oyKyxt#h_o(; zx7v*~`Y^sO=cFx$(>YYQ$o_l>bg|G0sQCtft!|KD8ysFLJ%i;CgL~Z+B{k-wK2evp zI)Pe}a8g!rMb`-UIGJ_ED1dx7s8VA>sL+Cks5Wp^MnYC%8dLQgL`$>DKzEs*&%)E) zAVC(KFqST@Wx%a8JdDBmaX7Hrfvl^dzXtAPJ@_aT!DfIyN~b4|+ydW7$5RwLT)eI0 z4*++t9{e)kR>SGTPvPXy*KDv25ywa|*R{()-;B55nZ{z5p-SWd-Oc7@#C<`di}gBR=o*y{$B*cBmp3R6xGQ-=0GmB>g6o%>mc zlavitS@d+32b_fquaAx4C}dPb;f$w6;K(j3)hkiB$lfADd*GzFW`&KY!b6E42&o?z z{_n$~y9kmk*0FI8;cywQnnRcir}t_V3;td2;*1`99iw4u}a)1 z51*vrySIWRh9iBfhMxmmC7jk33Pn;|BV7lwOPMZa=*$ooZ%HRcC0pc1<0s?tq z*0{t-=vf<&XlxUivJHTxYmBhqWsO`7Cfp2%VM1UaBNdwkqolfet(0OrVGNX>H*&4be!4CBHTDO@B|yOB3HLO%{_amA=E@HifT4ycvXB zJz`y#_?ea!aF{!~<9Tlq9D)SNaKgB3X)Oc8UA*e>I7IuxImV?tS7$ID&O(%sIq=X& zQ7aTh*j>|Oh1W=zftA&84krDP;Vm~&>);|gLE*JY{A1MpH5^Ix87R&H%W#lNc*CHO zk>#?0)3OnvT@9mW>M2*@waJ%cXn|xwpT>x@;WSc4qv|15c#V`~jXY9)dLu3dP9tSB zwjNT2*GNg$0nReQr^pINspzL}r0Xte!zTd>M_T>VjdYZ*Zh91swEC$VyCoj3PS+?T ziS>gt5++3wDDki)t6DEOO>=?Nhlm?4Nc3_K$i|j zl}_$b%U~9qrm~w6-43Ulk}xi8o(_QKn4}vSG9zK!un>+f+O2}aY)^0y&V99s6y`o>$AzW;cOAl^%Ys9xi=`Uiu7K`e(BA83fFU zty|tN+dNaxH&e?uQ{^KoGedo0fR8qC>|4S#I6P<%a~i6Hlu>Z4VMLpcn%KQ-10$wY zECc=GOruqcS|&1k8!+apmqL~L>lCU%E6~WTaQd^bFfOc03sK){ILipDTo@OoI}VzU z;q)yYqQ_*`@OV1x;p7<6PAXJ({iH(SB5C)a43?u?tS~Oj(rM68`Sej0#tjbj5LGe` zPFs}+La31WPX;PWQiYa+>4j{ZfQR^~PxJdqwp^oEldRrAPl9qHIOWLqLDqJLO zEZ7P}JlR&bNZK|y9_j$6seTlqF>rbl6t2GP0ZAKH0~SeKBy9i^O@>2N1n36OXd@th z0r(Uou6z(Eg0OidL9ryrBTxik3rT`9Nic&z5zGh;7ZR+K1TzT~LD=GvV6!CP3p*i# z{7?x=z>b3B-VQ+i6pk&{ALEWfY8ssW$XDSaX-StWX~RZ9;j}w2L}k@OMjVT@=Y-D# zh+~mjc7>9Cqmhzq7Mx|A9cq=r!QdlB{)l2El8m^>+KHP5r)5{D$l6I(31=DM-4=1| zLmwuT=;K{#877S%6VwbM5SG7L@aMoqW+pC@C*uC8LRD>%oGQGw=qFQ4Wc^`0SXz(l)_^L8m^7GSHtN`ScTJ8&_u1Mhm5#Lrif#aT6Tqs zWQk;(;CNsHAb$#{tsRNl02fI{Tx9LUu}CeuLPge2vaN9XB&%?yR7xberERH)jJU|! ziQ5XNWml-k+PT}zgM*zT;Fiu^oFcpYg$btX1YtY35LuSMv1EO_d)N=l93@L8NRq*+ z1Y8!_U@Bt5=@F4Flr6HUS zm=4He{=I;FW)KIs1h50~fZLEpLF_=BBI3x(#r9ww;Bmk_Kt2;$2FNEin5*T*)D?)c zwLHP#LYKP{E(C@nUHv#GA3?;%1MC=Vykl`3y$tl~*Bt@NSg~ETi}(QCCLF4=4eG}* z>y3qLqv072z{SHQX?WtW+LgSF0!)LWEYvR-;i+)z;5KM@;_~1s;c7HIakD(!LJhwe zVY)4FTj40neQ@fh@aox#!t=QW-4VEVGQ`=T9`Wo9alTbaUm6eQ@_(*KAm2LRUX2BCf`4z zKZCkd*^N*pS8(dbH1e*>h^%iP(%ykP4#&&Yad7IM@(zS~WAq@L`thQ!PN(qOfmif< zG7ip;>ZfS`9z8ct>PNaPI38ATW2b((9!}M# z@T`|^4qO?W`t3oO?f~3DxD#-dcnq)sZWG)VxWjNq;bt{Lez+5GpTqG%PyntwTwgdo z1WJdigyRDr8>jS*ypw)DlHiH`R5+e+)A8h6{q*`j1`nVA5Angr9ej+Ux1Z0@cEc$- zyo2!Pa5iKR2bTty2dCu2=RZ5(_QD;5)8(ZenkhN)k<-5-CqAMff0XA|IQ5(A;Wq)t zM>Fb|jQWSeje;Yesi=?rq<-p23j3uJt_E%)9G_P3iHiF1DM}1n8#q4kP(N;fmE#6i zZF0GR<;IkbbGG`C_AuNLIBwe2kMwjW;J6u9zg*;<3a74+EBtEU*1@Uk;tJ1of$kb{ zod6dPm+U!SjHOHSToxc*p67}I>B>A;2}oDtxrKmqOFYMWnCdR(YJ}H$ZUdn1wjfTo z&2xJJ>3F}8j&}#?-idG@BmOyDEUwqkb?{sOPA>oj{!UuRV7X z@C=;#sr1tk_+Qf>l`kH3B*7)a4cF?^aif4wh2u3y_0w^@)~J4wdKsyYif#__tcF_$ z$7^J|<5e*_mQ@V>rEaTVC2-8A)2r}5%2yMSPto(HoBFYQoo)-_Teb8h2(N%s*Va@% zUa9E|7Z1m4G{fOi;fmolz-@xt0=EzDAlzX%-c3>WQ+U&at`Qusn5erWqY&oaM*Sk| zQFzv=>g5%lIdHrH9mlFWbybh$U1S$H3UR&lw@Ou#W!*J?8 zkD^!icvgUZwbs5!IVgH{aV8hEQ#JYk2)23d03h87&v6e($9)`~+Iw-IM8~}l9rv_! z+|ST)PfN!=Egko?bi=X6rrYZ|?&;~cr={DDH4WWq%%60e7g4Qr4BHr+bg_^#o!+lM z;|Egt3&3X@zlN%Q<5N$l_$Cb_x1`u)ohkL)o_=KVT zjX2K>_@mr;mXO*ckha{kHZ*u9wTY41FjT%eV^H<6PncK5)tN&a3&W3nv;z?3Wv#Z> zh-+<>n%Cf9`ZKAAQeRE4Q#Sjt474h*I;Ti&5|ehVEwh8Cg<$C*GfT$0vl9H+=RC^* zZK$4_Fd?3Yxj*W}G6bzTO=41)n<(R%5bxBL7_>j&l7`MfP-gmSYq_~bSh*-N_YiU= zc{J*bB(+I=-gWp2>vGd=<@NqBpRc7JO?}-JqpX`*se9ZL=QfE?V~$zN&1-EIaJ~PA zs2igp_=Bm>pp95wnpTUd$K_$&`W4+7Ff@EE%l9bC2-_beeD&)j~dG#$ITIhSl()DDh0;E ztj($)UIRP$sXpWQ;<*uIH^-H)E&^8gzl z6c$(NF{xW3SqdfVRVYkYD95B&tSn6`$5_$d`3Y$m!sA>RV95Q+6|ykU5d1cvNrb|% z2|_<%ptH4~;6Z`*6NbK#m)9J$RCz)j5r+b4KVe|gq5VWeF9~iCwVyDwjS27qSFxZ9 zp`UI1jb|St!2>PFUDUcJ-T%p1i|<* z#FhPG{0qdDjbi+7h$|b#xF7kH9b&u{;vsv3ct^xJ2dVZZBChNQ=|>_C`x8SAGNC`` zBChNN({m74W0vt!(&Gl|GVnoqo@s7CoSMP-Rfumve3Tcz6mi~IRq2}$---U=G-RU1 zcOiZlaSTft--GyZ#5;QNXAn2q8pbFu&i}N9|+#E)s|A0YmYmVOfPceVHr zh`*=BZJ3Y~TK>j}e~fsP*Zy{hf32m@hDkZ8#k(Q>v=$$Xcq8bO;x7$x{6hVehd4wQ zikBdcx_Go8`%hAP9>=R5mv`6dAnMw;|69{}*6IG-_WURQ?=27Rk@WulPyF9Y9uM@W z+n)c#|NoUoOk&;o{uBTAl819n-S+$^{y!^^t)uJK|L+!m=-j&P`*)8&IH_)X{}cb$ zbCd)wfMUc?f*}_u0H&$@_1lQ z-TeQ~asDgggWh>sGn}lg;&~g+-*Co;7h-H<3*$(4Jz?B|xLThDEXQ~parGQA1{t40 zT%A8L{YXUqqll~h6x08NIL^aE^?ir9dZyJJ<^71bdX~bt3C7fX$o$O^KcMm7jf{K0 z7@Yt0LtOPg=|>>0p82r66pfzg(-8j{=gll42JO#B{IFL3MTqa!;`0zc^RpSEzZ7wG z9>emkMO^(TpPM4$TM<|Giu5}XkJ9AvEaGbY#PnAY->238C&bnMh3TgdSI?-}zB7oc z=fJGrk16zsmcJw7YCX#Q@rbMWg7MLaZvZ{p5QFn^-i_7eGYN4u|B!wr;>We}YYMVWmY3ETh1J#JKv_jarNk6hln0H{@)DBdOKjEb!u;w5r8Px!^5<3*2m2RQ zlvmeOR#jB?A8as<$oybcRYg@ex}d7GrnG!^7*SeW7Bs3WOY^INE(_*YE!1N*3*G1D z`BlNfii(>2nhIlHbzy!%(M1xXa03+<1;H^$nN%GtFV;9ol1Ok?9xSRcic99@7nN02 z*A&#ut2Rn%O3LyJ=T$GtUr>N%yH!Z~s$kK4t&o8-V{yfT^0JD8Vi_r%S5gwJlEjr2 zWo2$zY+Mk{t_tQCE~*Ju8x`|vP=TbZtP0LAt(aF025aV3=2xN#LDacWrGv$i(%JdN z!Rn%_(#jghtQZ-Jf;y&TUKtp!sFu}+Df7!pt80wvnkq;zUZ%O>{J90?^GXVeYUWi1 ztMbbW<_7gd$gOx@QOz&#b4!b=Dyl0=Y9w(emcO8=wAd(`S5*}(ugNbis3{0Vf|cda z9xtUVSU$UEjwYl0ijoqv*~L&Q=*zhU&?0C7`@`!D25SncW(RBX3yO=Y(4z)=N0mwx z<0K9m<-vtvDj9LbnO|C+ADmlRvq%$szQ+)|B3LOC<`m2i8dU{zrGlc{E6WzCUQlXl z=)II*R57pI6^GkP^QsDJN-N4G`|SPvn$o#JRxr0Z)TE$MR#0AyM&{3}D$_f$te~2l zKxFeOA;w^S>Fjc9OjWR;8fE5}NZC@A=arY1l$KQVFX|sGEF4raB(d1Y57waVtOVGS zp@oG-iA5zw{_IK)8i^_yIw(15NJQE53(69Vxxu+bm5Yqh>MEnGw6F-&Lk5)$j4v!0 z0#?Bj>%{<*Bgn|lPo0)AdeVdxgKYzCLQzq|poF1?tY|{9)Qw=J$6jG_!r;P$gha3h z+u@exi9J*@8ivkO#-Jwc$1 zguyJdpfEluxoC*Aau`whB^ZYsP5C919qgqWC9@zOJSdnrWN7?A*zD>>b889;0c)yU zI7fw~?D~5d`^(b$v#|cf!NPg7VarP@RJfq95bUW~St)F~M}@*vaBcxifQpn=6scfA zRYCb|m^CkliWODNoePN?{oR?Qpaz{=IFI(vBP_vS3%b+MKjpj6sohsZWCqNnYQAF} z)3f|_fzM~2c)TjpH^;g6Qe+}LMb`^q(qUP|UyKni=Sw#RU(pRf7|%r|9p}>xpyNGg z^;2|7K(IXZBi&uwRV7ohfF zp{0IIqob?|)o()=%h)hR#lmS-KwL*8nSPsjey8{k=RtX?~@u2IVB7mx{N3<}L(?M6`bvEOw-$+kg wQNMk+AqHh*7q37f>0;pcXjsc`?AvP@yRmFiKUFXD>2x*wEn~kT0#tPW3kOTXtN;K2 literal 0 HcmV?d00001 diff --git a/releases/v2.0.2/evt-csr-v2.0.2.h b/releases/v2.0.2/evt-csr-v2.0.2.h new file mode 100644 index 0000000..98bf80c --- /dev/null +++ b/releases/v2.0.2/evt-csr-v2.0.2.h @@ -0,0 +1,635 @@ +//-------------------------------------------------------------------------------- +// Auto-generated by Migen (f4fcd10) & LiteX (de205d4a) on 2019-11-29 11:01:31 +//-------------------------------------------------------------------------------- +#include +#ifndef __GENERATED_CSR_H +#define __GENERATED_CSR_H +#include +#ifdef CSR_ACCESSORS_DEFINED +extern void csr_writeb(uint8_t value, unsigned long addr); +extern uint8_t csr_readb(unsigned long addr); +extern void csr_writew(uint16_t value, unsigned long addr); +extern uint16_t csr_readw(unsigned long addr); +extern void csr_writel(uint32_t value, unsigned long addr); +extern uint32_t csr_readl(unsigned long addr); +#else /* ! CSR_ACCESSORS_DEFINED */ +#include +#endif /* ! CSR_ACCESSORS_DEFINED */ + +/* ctrl */ +#define CSR_CTRL_BASE 0xe0000000L +#define CSR_CTRL_RESET_ADDR 0xe0000000L +#define CSR_CTRL_RESET_SIZE 1 +static inline unsigned char ctrl_reset_read(void) { + unsigned char r = csr_readl(0xe0000000L); + return r; +} +static inline void ctrl_reset_write(unsigned char value) { + csr_writel(value, 0xe0000000L); +} +#define CSR_CTRL_SCRATCH_ADDR 0xe0000004L +#define CSR_CTRL_SCRATCH_SIZE 4 +static inline unsigned int ctrl_scratch_read(void) { + unsigned int r = csr_readl(0xe0000004L); + r <<= 8; + r |= csr_readl(0xe0000008L); + r <<= 8; + r |= csr_readl(0xe000000cL); + r <<= 8; + r |= csr_readl(0xe0000010L); + return r; +} +static inline void ctrl_scratch_write(unsigned int value) { + csr_writel(value >> 24, 0xe0000004L); + csr_writel(value >> 16, 0xe0000008L); + csr_writel(value >> 8, 0xe000000cL); + csr_writel(value, 0xe0000010L); +} +#define CSR_CTRL_BUS_ERRORS_ADDR 0xe0000014L +#define CSR_CTRL_BUS_ERRORS_SIZE 4 +static inline unsigned int ctrl_bus_errors_read(void) { + unsigned int r = csr_readl(0xe0000014L); + r <<= 8; + r |= csr_readl(0xe0000018L); + r <<= 8; + r |= csr_readl(0xe000001cL); + r <<= 8; + r |= csr_readl(0xe0000020L); + return r; +} + +/* lxspi */ +#define CSR_LXSPI_BASE 0xe0007800L +#define CSR_LXSPI_BITBANG_ADDR 0xe0007800L +#define CSR_LXSPI_BITBANG_SIZE 1 +static inline unsigned char lxspi_bitbang_read(void) { + unsigned char r = csr_readl(0xe0007800L); + return r; +} +static inline void lxspi_bitbang_write(unsigned char value) { + csr_writel(value, 0xe0007800L); +} +#define CSR_LXSPI_BITBANG_MOSI_OFFSET 0 +#define CSR_LXSPI_BITBANG_MOSI_SIZE 1 +#define CSR_LXSPI_BITBANG_CLK_OFFSET 1 +#define CSR_LXSPI_BITBANG_CLK_SIZE 1 +#define CSR_LXSPI_BITBANG_CS_N_OFFSET 2 +#define CSR_LXSPI_BITBANG_CS_N_SIZE 1 +#define CSR_LXSPI_BITBANG_DIR_OFFSET 3 +#define CSR_LXSPI_BITBANG_DIR_SIZE 1 +#define CSR_LXSPI_MISO_ADDR 0xe0007804L +#define CSR_LXSPI_MISO_SIZE 1 +static inline unsigned char lxspi_miso_read(void) { + unsigned char r = csr_readl(0xe0007804L); + return r; +} +#define CSR_LXSPI_BITBANG_EN_ADDR 0xe0007808L +#define CSR_LXSPI_BITBANG_EN_SIZE 1 +static inline unsigned char lxspi_bitbang_en_read(void) { + unsigned char r = csr_readl(0xe0007808L); + return r; +} +static inline void lxspi_bitbang_en_write(unsigned char value) { + csr_writel(value, 0xe0007808L); +} + +/* messible */ +#define CSR_MESSIBLE_BASE 0xe0008000L +#define CSR_MESSIBLE_IN_ADDR 0xe0008000L +#define CSR_MESSIBLE_IN_SIZE 1 +static inline unsigned char messible_in_read(void) { + unsigned char r = csr_readl(0xe0008000L); + return r; +} +static inline void messible_in_write(unsigned char value) { + csr_writel(value, 0xe0008000L); +} +#define CSR_MESSIBLE_OUT_ADDR 0xe0008004L +#define CSR_MESSIBLE_OUT_SIZE 1 +static inline unsigned char messible_out_read(void) { + unsigned char r = csr_readl(0xe0008004L); + return r; +} +#define CSR_MESSIBLE_STATUS_ADDR 0xe0008008L +#define CSR_MESSIBLE_STATUS_SIZE 1 +static inline unsigned char messible_status_read(void) { + unsigned char r = csr_readl(0xe0008008L); + return r; +} +#define CSR_MESSIBLE_STATUS_FULL_OFFSET 0 +#define CSR_MESSIBLE_STATUS_FULL_SIZE 1 +#define CSR_MESSIBLE_STATUS_HAVE_OFFSET 1 +#define CSR_MESSIBLE_STATUS_HAVE_SIZE 1 + +/* reboot */ +#define CSR_REBOOT_BASE 0xe0006000L +#define CSR_REBOOT_CTRL_ADDR 0xe0006000L +#define CSR_REBOOT_CTRL_SIZE 1 +static inline unsigned char reboot_ctrl_read(void) { + unsigned char r = csr_readl(0xe0006000L); + return r; +} +static inline void reboot_ctrl_write(unsigned char value) { + csr_writel(value, 0xe0006000L); +} +#define CSR_REBOOT_CTRL_IMAGE_OFFSET 0 +#define CSR_REBOOT_CTRL_IMAGE_SIZE 2 +#define CSR_REBOOT_CTRL_KEY_OFFSET 2 +#define CSR_REBOOT_CTRL_KEY_SIZE 6 +#define CSR_REBOOT_ADDR_ADDR 0xe0006004L +#define CSR_REBOOT_ADDR_SIZE 4 +static inline unsigned int reboot_addr_read(void) { + unsigned int r = csr_readl(0xe0006004L); + r <<= 8; + r |= csr_readl(0xe0006008L); + r <<= 8; + r |= csr_readl(0xe000600cL); + r <<= 8; + r |= csr_readl(0xe0006010L); + return r; +} +static inline void reboot_addr_write(unsigned int value) { + csr_writel(value >> 24, 0xe0006004L); + csr_writel(value >> 16, 0xe0006008L); + csr_writel(value >> 8, 0xe000600cL); + csr_writel(value, 0xe0006010L); +} + +/* rgb */ +#define CSR_RGB_BASE 0xe0006800L +#define CSR_RGB_DAT_ADDR 0xe0006800L +#define CSR_RGB_DAT_SIZE 1 +static inline unsigned char rgb_dat_read(void) { + unsigned char r = csr_readl(0xe0006800L); + return r; +} +static inline void rgb_dat_write(unsigned char value) { + csr_writel(value, 0xe0006800L); +} +#define CSR_RGB_ADDR_ADDR 0xe0006804L +#define CSR_RGB_ADDR_SIZE 1 +static inline unsigned char rgb_addr_read(void) { + unsigned char r = csr_readl(0xe0006804L); + return r; +} +static inline void rgb_addr_write(unsigned char value) { + csr_writel(value, 0xe0006804L); +} +#define CSR_RGB_CTRL_ADDR 0xe0006808L +#define CSR_RGB_CTRL_SIZE 1 +static inline unsigned char rgb_ctrl_read(void) { + unsigned char r = csr_readl(0xe0006808L); + return r; +} +static inline void rgb_ctrl_write(unsigned char value) { + csr_writel(value, 0xe0006808L); +} +#define CSR_RGB_CTRL_EXE_OFFSET 0 +#define CSR_RGB_CTRL_EXE_SIZE 1 +#define CSR_RGB_CTRL_CURREN_OFFSET 1 +#define CSR_RGB_CTRL_CURREN_SIZE 1 +#define CSR_RGB_CTRL_RGBLEDEN_OFFSET 2 +#define CSR_RGB_CTRL_RGBLEDEN_SIZE 1 +#define CSR_RGB_CTRL_RRAW_OFFSET 3 +#define CSR_RGB_CTRL_RRAW_SIZE 1 +#define CSR_RGB_CTRL_GRAW_OFFSET 4 +#define CSR_RGB_CTRL_GRAW_SIZE 1 +#define CSR_RGB_CTRL_BRAW_OFFSET 5 +#define CSR_RGB_CTRL_BRAW_SIZE 1 +#define CSR_RGB_RAW_ADDR 0xe000680cL +#define CSR_RGB_RAW_SIZE 1 +static inline unsigned char rgb_raw_read(void) { + unsigned char r = csr_readl(0xe000680cL); + return r; +} +static inline void rgb_raw_write(unsigned char value) { + csr_writel(value, 0xe000680cL); +} +#define CSR_RGB_RAW_R_OFFSET 0 +#define CSR_RGB_RAW_R_SIZE 1 +#define CSR_RGB_RAW_G_OFFSET 1 +#define CSR_RGB_RAW_G_SIZE 1 +#define CSR_RGB_RAW_B_OFFSET 2 +#define CSR_RGB_RAW_B_SIZE 1 + +/* timer0 */ +#define CSR_TIMER0_BASE 0xe0002800L +#define CSR_TIMER0_LOAD_ADDR 0xe0002800L +#define CSR_TIMER0_LOAD_SIZE 4 +static inline unsigned int timer0_load_read(void) { + unsigned int r = csr_readl(0xe0002800L); + r <<= 8; + r |= csr_readl(0xe0002804L); + r <<= 8; + r |= csr_readl(0xe0002808L); + r <<= 8; + r |= csr_readl(0xe000280cL); + return r; +} +static inline void timer0_load_write(unsigned int value) { + csr_writel(value >> 24, 0xe0002800L); + csr_writel(value >> 16, 0xe0002804L); + csr_writel(value >> 8, 0xe0002808L); + csr_writel(value, 0xe000280cL); +} +#define CSR_TIMER0_RELOAD_ADDR 0xe0002810L +#define CSR_TIMER0_RELOAD_SIZE 4 +static inline unsigned int timer0_reload_read(void) { + unsigned int r = csr_readl(0xe0002810L); + r <<= 8; + r |= csr_readl(0xe0002814L); + r <<= 8; + r |= csr_readl(0xe0002818L); + r <<= 8; + r |= csr_readl(0xe000281cL); + return r; +} +static inline void timer0_reload_write(unsigned int value) { + csr_writel(value >> 24, 0xe0002810L); + csr_writel(value >> 16, 0xe0002814L); + csr_writel(value >> 8, 0xe0002818L); + csr_writel(value, 0xe000281cL); +} +#define CSR_TIMER0_EN_ADDR 0xe0002820L +#define CSR_TIMER0_EN_SIZE 1 +static inline unsigned char timer0_en_read(void) { + unsigned char r = csr_readl(0xe0002820L); + return r; +} +static inline void timer0_en_write(unsigned char value) { + csr_writel(value, 0xe0002820L); +} +#define CSR_TIMER0_UPDATE_VALUE_ADDR 0xe0002824L +#define CSR_TIMER0_UPDATE_VALUE_SIZE 1 +static inline unsigned char timer0_update_value_read(void) { + unsigned char r = csr_readl(0xe0002824L); + return r; +} +static inline void timer0_update_value_write(unsigned char value) { + csr_writel(value, 0xe0002824L); +} +#define CSR_TIMER0_VALUE_ADDR 0xe0002828L +#define CSR_TIMER0_VALUE_SIZE 4 +static inline unsigned int timer0_value_read(void) { + unsigned int r = csr_readl(0xe0002828L); + r <<= 8; + r |= csr_readl(0xe000282cL); + r <<= 8; + r |= csr_readl(0xe0002830L); + r <<= 8; + r |= csr_readl(0xe0002834L); + return r; +} +#define CSR_TIMER0_EV_STATUS_ADDR 0xe0002838L +#define CSR_TIMER0_EV_STATUS_SIZE 1 +static inline unsigned char timer0_ev_status_read(void) { + unsigned char r = csr_readl(0xe0002838L); + return r; +} +static inline void timer0_ev_status_write(unsigned char value) { + csr_writel(value, 0xe0002838L); +} +#define CSR_TIMER0_EV_PENDING_ADDR 0xe000283cL +#define CSR_TIMER0_EV_PENDING_SIZE 1 +static inline unsigned char timer0_ev_pending_read(void) { + unsigned char r = csr_readl(0xe000283cL); + return r; +} +static inline void timer0_ev_pending_write(unsigned char value) { + csr_writel(value, 0xe000283cL); +} +#define CSR_TIMER0_EV_ENABLE_ADDR 0xe0002840L +#define CSR_TIMER0_EV_ENABLE_SIZE 1 +static inline unsigned char timer0_ev_enable_read(void) { + unsigned char r = csr_readl(0xe0002840L); + return r; +} +static inline void timer0_ev_enable_write(unsigned char value) { + csr_writel(value, 0xe0002840L); +} + +/* touch */ +#define CSR_TOUCH_BASE 0xe0005800L +#define CSR_TOUCH_O_ADDR 0xe0005800L +#define CSR_TOUCH_O_SIZE 1 +static inline unsigned char touch_o_read(void) { + unsigned char r = csr_readl(0xe0005800L); + return r; +} +static inline void touch_o_write(unsigned char value) { + csr_writel(value, 0xe0005800L); +} +#define CSR_TOUCH_OE_ADDR 0xe0005804L +#define CSR_TOUCH_OE_SIZE 1 +static inline unsigned char touch_oe_read(void) { + unsigned char r = csr_readl(0xe0005804L); + return r; +} +static inline void touch_oe_write(unsigned char value) { + csr_writel(value, 0xe0005804L); +} +#define CSR_TOUCH_I_ADDR 0xe0005808L +#define CSR_TOUCH_I_SIZE 1 +static inline unsigned char touch_i_read(void) { + unsigned char r = csr_readl(0xe0005808L); + return r; +} + +/* usb */ +#define CSR_USB_BASE 0xe0004800L +#define CSR_USB_PULLUP_OUT_ADDR 0xe0004800L +#define CSR_USB_PULLUP_OUT_SIZE 1 +static inline unsigned char usb_pullup_out_read(void) { + unsigned char r = csr_readl(0xe0004800L); + return r; +} +static inline void usb_pullup_out_write(unsigned char value) { + csr_writel(value, 0xe0004800L); +} +#define CSR_USB_ADDRESS_ADDR 0xe0004804L +#define CSR_USB_ADDRESS_SIZE 1 +static inline unsigned char usb_address_read(void) { + unsigned char r = csr_readl(0xe0004804L); + return r; +} +static inline void usb_address_write(unsigned char value) { + csr_writel(value, 0xe0004804L); +} +#define CSR_USB_ADDRESS_ADDR_OFFSET 0 +#define CSR_USB_ADDRESS_ADDR_SIZE 7 +#define CSR_USB_NEXT_EV_ADDR 0xe0004808L +#define CSR_USB_NEXT_EV_SIZE 1 +static inline unsigned char usb_next_ev_read(void) { + unsigned char r = csr_readl(0xe0004808L); + return r; +} +#define CSR_USB_NEXT_EV_IN_OFFSET 0 +#define CSR_USB_NEXT_EV_IN_SIZE 1 +#define CSR_USB_NEXT_EV_OUT_OFFSET 1 +#define CSR_USB_NEXT_EV_OUT_SIZE 1 +#define CSR_USB_NEXT_EV_SETUP_OFFSET 2 +#define CSR_USB_NEXT_EV_SETUP_SIZE 1 +#define CSR_USB_NEXT_EV_RESET_OFFSET 3 +#define CSR_USB_NEXT_EV_RESET_SIZE 1 +#define CSR_USB_SETUP_DATA_ADDR 0xe000480cL +#define CSR_USB_SETUP_DATA_SIZE 1 +static inline unsigned char usb_setup_data_read(void) { + unsigned char r = csr_readl(0xe000480cL); + return r; +} +#define CSR_USB_SETUP_DATA_DATA_OFFSET 0 +#define CSR_USB_SETUP_DATA_DATA_SIZE 8 +#define CSR_USB_SETUP_CTRL_ADDR 0xe0004810L +#define CSR_USB_SETUP_CTRL_SIZE 1 +static inline unsigned char usb_setup_ctrl_read(void) { + unsigned char r = csr_readl(0xe0004810L); + return r; +} +static inline void usb_setup_ctrl_write(unsigned char value) { + csr_writel(value, 0xe0004810L); +} +#define CSR_USB_SETUP_CTRL_RESET_OFFSET 5 +#define CSR_USB_SETUP_CTRL_RESET_SIZE 1 +#define CSR_USB_SETUP_STATUS_ADDR 0xe0004814L +#define CSR_USB_SETUP_STATUS_SIZE 1 +static inline unsigned char usb_setup_status_read(void) { + unsigned char r = csr_readl(0xe0004814L); + return r; +} +#define CSR_USB_SETUP_STATUS_EPNO_OFFSET 0 +#define CSR_USB_SETUP_STATUS_EPNO_SIZE 4 +#define CSR_USB_SETUP_STATUS_HAVE_OFFSET 4 +#define CSR_USB_SETUP_STATUS_HAVE_SIZE 1 +#define CSR_USB_SETUP_STATUS_PEND_OFFSET 5 +#define CSR_USB_SETUP_STATUS_PEND_SIZE 1 +#define CSR_USB_SETUP_STATUS_IS_IN_OFFSET 6 +#define CSR_USB_SETUP_STATUS_IS_IN_SIZE 1 +#define CSR_USB_SETUP_STATUS_DATA_OFFSET 7 +#define CSR_USB_SETUP_STATUS_DATA_SIZE 1 +#define CSR_USB_SETUP_EV_STATUS_ADDR 0xe0004818L +#define CSR_USB_SETUP_EV_STATUS_SIZE 1 +static inline unsigned char usb_setup_ev_status_read(void) { + unsigned char r = csr_readl(0xe0004818L); + return r; +} +static inline void usb_setup_ev_status_write(unsigned char value) { + csr_writel(value, 0xe0004818L); +} +#define CSR_USB_SETUP_EV_PENDING_ADDR 0xe000481cL +#define CSR_USB_SETUP_EV_PENDING_SIZE 1 +static inline unsigned char usb_setup_ev_pending_read(void) { + unsigned char r = csr_readl(0xe000481cL); + return r; +} +static inline void usb_setup_ev_pending_write(unsigned char value) { + csr_writel(value, 0xe000481cL); +} +#define CSR_USB_SETUP_EV_ENABLE_ADDR 0xe0004820L +#define CSR_USB_SETUP_EV_ENABLE_SIZE 1 +static inline unsigned char usb_setup_ev_enable_read(void) { + unsigned char r = csr_readl(0xe0004820L); + return r; +} +static inline void usb_setup_ev_enable_write(unsigned char value) { + csr_writel(value, 0xe0004820L); +} +#define CSR_USB_IN_DATA_ADDR 0xe0004824L +#define CSR_USB_IN_DATA_SIZE 1 +static inline unsigned char usb_in_data_read(void) { + unsigned char r = csr_readl(0xe0004824L); + return r; +} +static inline void usb_in_data_write(unsigned char value) { + csr_writel(value, 0xe0004824L); +} +#define CSR_USB_IN_DATA_DATA_OFFSET 0 +#define CSR_USB_IN_DATA_DATA_SIZE 8 +#define CSR_USB_IN_CTRL_ADDR 0xe0004828L +#define CSR_USB_IN_CTRL_SIZE 1 +static inline unsigned char usb_in_ctrl_read(void) { + unsigned char r = csr_readl(0xe0004828L); + return r; +} +static inline void usb_in_ctrl_write(unsigned char value) { + csr_writel(value, 0xe0004828L); +} +#define CSR_USB_IN_CTRL_EPNO_OFFSET 0 +#define CSR_USB_IN_CTRL_EPNO_SIZE 4 +#define CSR_USB_IN_CTRL_RESET_OFFSET 5 +#define CSR_USB_IN_CTRL_RESET_SIZE 1 +#define CSR_USB_IN_CTRL_STALL_OFFSET 6 +#define CSR_USB_IN_CTRL_STALL_SIZE 1 +#define CSR_USB_IN_STATUS_ADDR 0xe000482cL +#define CSR_USB_IN_STATUS_SIZE 1 +static inline unsigned char usb_in_status_read(void) { + unsigned char r = csr_readl(0xe000482cL); + return r; +} +#define CSR_USB_IN_STATUS_IDLE_OFFSET 0 +#define CSR_USB_IN_STATUS_IDLE_SIZE 1 +#define CSR_USB_IN_STATUS_HAVE_OFFSET 4 +#define CSR_USB_IN_STATUS_HAVE_SIZE 1 +#define CSR_USB_IN_STATUS_PEND_OFFSET 5 +#define CSR_USB_IN_STATUS_PEND_SIZE 1 +#define CSR_USB_IN_EV_STATUS_ADDR 0xe0004830L +#define CSR_USB_IN_EV_STATUS_SIZE 1 +static inline unsigned char usb_in_ev_status_read(void) { + unsigned char r = csr_readl(0xe0004830L); + return r; +} +static inline void usb_in_ev_status_write(unsigned char value) { + csr_writel(value, 0xe0004830L); +} +#define CSR_USB_IN_EV_PENDING_ADDR 0xe0004834L +#define CSR_USB_IN_EV_PENDING_SIZE 1 +static inline unsigned char usb_in_ev_pending_read(void) { + unsigned char r = csr_readl(0xe0004834L); + return r; +} +static inline void usb_in_ev_pending_write(unsigned char value) { + csr_writel(value, 0xe0004834L); +} +#define CSR_USB_IN_EV_ENABLE_ADDR 0xe0004838L +#define CSR_USB_IN_EV_ENABLE_SIZE 1 +static inline unsigned char usb_in_ev_enable_read(void) { + unsigned char r = csr_readl(0xe0004838L); + return r; +} +static inline void usb_in_ev_enable_write(unsigned char value) { + csr_writel(value, 0xe0004838L); +} +#define CSR_USB_OUT_DATA_ADDR 0xe000483cL +#define CSR_USB_OUT_DATA_SIZE 1 +static inline unsigned char usb_out_data_read(void) { + unsigned char r = csr_readl(0xe000483cL); + return r; +} +#define CSR_USB_OUT_DATA_DATA_OFFSET 0 +#define CSR_USB_OUT_DATA_DATA_SIZE 8 +#define CSR_USB_OUT_CTRL_ADDR 0xe0004840L +#define CSR_USB_OUT_CTRL_SIZE 1 +static inline unsigned char usb_out_ctrl_read(void) { + unsigned char r = csr_readl(0xe0004840L); + return r; +} +static inline void usb_out_ctrl_write(unsigned char value) { + csr_writel(value, 0xe0004840L); +} +#define CSR_USB_OUT_CTRL_EPNO_OFFSET 0 +#define CSR_USB_OUT_CTRL_EPNO_SIZE 4 +#define CSR_USB_OUT_CTRL_ENABLE_OFFSET 4 +#define CSR_USB_OUT_CTRL_ENABLE_SIZE 1 +#define CSR_USB_OUT_CTRL_RESET_OFFSET 5 +#define CSR_USB_OUT_CTRL_RESET_SIZE 1 +#define CSR_USB_OUT_CTRL_STALL_OFFSET 6 +#define CSR_USB_OUT_CTRL_STALL_SIZE 1 +#define CSR_USB_OUT_STATUS_ADDR 0xe0004844L +#define CSR_USB_OUT_STATUS_SIZE 1 +static inline unsigned char usb_out_status_read(void) { + unsigned char r = csr_readl(0xe0004844L); + return r; +} +#define CSR_USB_OUT_STATUS_EPNO_OFFSET 0 +#define CSR_USB_OUT_STATUS_EPNO_SIZE 4 +#define CSR_USB_OUT_STATUS_HAVE_OFFSET 4 +#define CSR_USB_OUT_STATUS_HAVE_SIZE 1 +#define CSR_USB_OUT_STATUS_PEND_OFFSET 5 +#define CSR_USB_OUT_STATUS_PEND_SIZE 1 +#define CSR_USB_OUT_EV_STATUS_ADDR 0xe0004848L +#define CSR_USB_OUT_EV_STATUS_SIZE 1 +static inline unsigned char usb_out_ev_status_read(void) { + unsigned char r = csr_readl(0xe0004848L); + return r; +} +static inline void usb_out_ev_status_write(unsigned char value) { + csr_writel(value, 0xe0004848L); +} +#define CSR_USB_OUT_EV_PENDING_ADDR 0xe000484cL +#define CSR_USB_OUT_EV_PENDING_SIZE 1 +static inline unsigned char usb_out_ev_pending_read(void) { + unsigned char r = csr_readl(0xe000484cL); + return r; +} +static inline void usb_out_ev_pending_write(unsigned char value) { + csr_writel(value, 0xe000484cL); +} +#define CSR_USB_OUT_EV_ENABLE_ADDR 0xe0004850L +#define CSR_USB_OUT_EV_ENABLE_SIZE 1 +static inline unsigned char usb_out_ev_enable_read(void) { + unsigned char r = csr_readl(0xe0004850L); + return r; +} +static inline void usb_out_ev_enable_write(unsigned char value) { + csr_writel(value, 0xe0004850L); +} + +/* version */ +#define CSR_VERSION_BASE 0xe0007000L +#define CSR_VERSION_MAJOR_ADDR 0xe0007000L +#define CSR_VERSION_MAJOR_SIZE 1 +static inline unsigned char version_major_read(void) { + unsigned char r = csr_readl(0xe0007000L); + return r; +} +#define CSR_VERSION_MINOR_ADDR 0xe0007004L +#define CSR_VERSION_MINOR_SIZE 1 +static inline unsigned char version_minor_read(void) { + unsigned char r = csr_readl(0xe0007004L); + return r; +} +#define CSR_VERSION_REVISION_ADDR 0xe0007008L +#define CSR_VERSION_REVISION_SIZE 1 +static inline unsigned char version_revision_read(void) { + unsigned char r = csr_readl(0xe0007008L); + return r; +} +#define CSR_VERSION_GITREV_ADDR 0xe000700cL +#define CSR_VERSION_GITREV_SIZE 4 +static inline unsigned int version_gitrev_read(void) { + unsigned int r = csr_readl(0xe000700cL); + r <<= 8; + r |= csr_readl(0xe0007010L); + r <<= 8; + r |= csr_readl(0xe0007014L); + r <<= 8; + r |= csr_readl(0xe0007018L); + return r; +} +#define CSR_VERSION_GITEXTRA_ADDR 0xe000701cL +#define CSR_VERSION_GITEXTRA_SIZE 2 +static inline unsigned short int version_gitextra_read(void) { + unsigned short int r = csr_readl(0xe000701cL); + r <<= 8; + r |= csr_readl(0xe0007020L); + return r; +} +#define CSR_VERSION_DIRTY_ADDR 0xe0007024L +#define CSR_VERSION_DIRTY_SIZE 1 +static inline unsigned char version_dirty_read(void) { + unsigned char r = csr_readl(0xe0007024L); + return r; +} +#define CSR_VERSION_DIRTY_DIRTY_OFFSET 0 +#define CSR_VERSION_DIRTY_DIRTY_SIZE 1 +#define CSR_VERSION_MODEL_ADDR 0xe0007028L +#define CSR_VERSION_MODEL_SIZE 1 +static inline unsigned char version_model_read(void) { + unsigned char r = csr_readl(0xe0007028L); + return r; +} +#define CSR_VERSION_MODEL_MODEL_OFFSET 0 +#define CSR_VERSION_MODEL_MODEL_SIZE 8 +#define CSR_VERSION_SEED_ADDR 0xe000702cL +#define CSR_VERSION_SEED_SIZE 4 +static inline unsigned int version_seed_read(void) { + unsigned int r = csr_readl(0xe000702cL); + r <<= 8; + r |= csr_readl(0xe0007030L); + r <<= 8; + r |= csr_readl(0xe0007034L); + r <<= 8; + r |= csr_readl(0xe0007038L); + return r; +} + +#endif diff --git a/releases/v2.0.2/evt-foboot-v2.0.2.dfu b/releases/v2.0.2/evt-foboot-v2.0.2.dfu new file mode 100644 index 0000000000000000000000000000000000000000..406c8c3d2e77d9abf27daedcf83375257531539c GIT binary patch literal 104106 zcmbTe3t$vQwm1H(>YkaN$t3B7Ap{7a6G8|WaX{37F;*TcSw$U{t6Wxbc!;2=5mAF6 z)Px{G5u?irD&j=J#n&2q;`(Y5Rupj!tFDNw44{IF8q`%p)c>z1?sxaz|NXvi@7Kz7 zcRf!1>eQ)oPMxaG&%nbAIS{@(P&7q8*#yiMu^b42|Iuatk4pdRg-8ACMgO~! z@}Coh1{Aa({{qfKZ zB4sP`FBbe4i)Hq}RR3b}|7)>4uY}c8EbIST`hQbE|8siJu&DI#8x#e={TD>xpDFzE z{7Ws5!hgNefcy2N#{W65(qv!dbiT>AT_rE6mH}8USS_V&EF~MKVAQIEPtVIp#qR7=dOu zIQiPEDqL(b*>~|n1JmH}U!diW2l!l2kuG-V)<-P|9qQkb%FF#JnbvJtwt`(ZwV^ZJ zSOvRiY=%cQoy!~VQT~2%ElC6AeC!(>alnL;Vlf*cqe_LT&ITRuv2N>YWoTm&mefhv z;eRw*s>SkWPDRN7vI(imScaMF(_p1Ww!hg9wYjVTc=I+C77#4v6SvD1o0Ipur&&3& z3w@uhN62!_cnK$YczQ!89Eg{vw?g;s)G0^^)h%HukBrBjcHWz(p@cWKL@fN*j$AmF z4Ku&g?;MvXo1*d93(zsmNF-qjStcgH z4v#HtWQoA4m&;IY@=2;(Eq;8|c9ngpo1g2GZ5paItei_y*X{UnoPZ4K?~}f{`VmifqCP&8pkF>Irp}T8tILV+;W8{ z2APF{W}DUK#+m3tV7h}4db#X(S%8FEdw6QxCQeF$OmH9-Z!H`Ei1>nyWZOd+vz}T= zBTO+scuw3CgT7u96oYhA4*IufzE@hv5!U=}Y6GOE5KI2XPxdq2G;}NMUKv(QlInF8 z7c$@1xLdx=| zRZ?sar~?IVsb1ik7?+k1U|eae)2nYxqvm&NJ6N0uEK-$&8?%wa%FyHvj1^3@U%V#n zJ?~o}uO9I1aeWa34>&&CjKs>XBWHhSQhl@N90x>pnwdy3mhNR*%ND@@5t?=#y!2e)= z1c!BvZ(OPE+fFuRsNM0XRb=2k(krVJH?ozG{iMbsYlZQ)m*=3s6N7~HQi`M;->hw< zBc9X(W;}qj_``47(5jRz1;jP$mDi$>)%?ZD-jA$GC15-7d*iBS2&pIrPP~(dkg=XW zqVr768?rpk@+mVtL)aI`w2akVz^bPkO|O7A>Eu$#20j*CF)p37uUbLchR0X({^f1a zBvn@|t~@2bkkrLtm_f>{bkZY1`nHMHl7$`X`C%>z@llE1i3j8gV5U3$DaWv_EHW&d zt)0&_b8&okCuJXBuZ^<_x3noq`Mb?vhC;2fa)9m(INCLxNRs7zPtRhO6Jb;A&?-LT zv}0Z;^O8|E4xP2dI6yV@g7HFH&t}{gha;=xZ(3L|zgJ_V$b?_RG##HfJW$)M9&YPc z%zN=dm8!(7iBQ(|+YSV&FKce{@&@aXD>XiRYSV2rGYM_(Isj@V!H12&62^RM9F;B~KPTDYs+b<`?nft;-lSiy3SBXO*7$b;8@PHK?7E^Sm8Q^+# zy|F=VeDFS!ko&IkI2)WW@k9+dz?XuOI+3_vH+dxqw(LBd`m#mbyz0xW_L&n9$}$#e zzCM?@lAV?*T60q@fouoP$_kA09O<*7X+67R(dFKRmFy=CMCMbKd@+#$Aq=bY=Qyk+ z6JR!EKDUbZUc0stSVr($m`aroIitq$a*yZe8T(fMmSBr(!rP(_<<+yPGOr>;W0{Nh z9!`>mbV!+s>iR3wqsAX0pmmIq^3G4m*b7#=SDG_gaS=JjB zGXx69&VPb-RCHu{U?KiGjK%*tl0Ugf{P;x~B1~+fY)lT{@mXCsty>)-DrSy{G2F}; zE_xSWDSIpXcGBy>h)$$!;7ym&f^qaqIl+`={#-I1GILs(y3EcT_}B4@#)c4t4$R&C z(Hv|Y73E7b|M@Y~Tv+=u+q$HaffJP`44MqbASK1}d2v!eC?pG)Ma!Hsv+g+FWol_p zCMv2OvxKOrXN`fqm_eG8-~^UFIh0T?l>Hu1*oe;?$OCt8m=ngz(C2+Zfn0tHbvYg$ zw}4p{XU4eo4VR2Cy5ekyJQ#hb>z#Kt-MoiAmV&B9QHN3zdytcj~YezVU-hxoFKDmn&15CtR^T z7Nx@yt=4YsloZvmWr=5Q(c!TRoD`JC{1aVI&sy&;Xi=x5WXSrM;lMh-8sTcl34=K; zDtsO5^;T1MAjc9PP2Y%Dy8`Ns90S3n9D^`s%~2NYitf+b8by8RV-4kTcG{!V23B8M zc1nn`dnaw&1S)WHAmF0J9_rw0PoWgxhOoTrzVokhZDp3#Cmr%18~|E*Zywr#yRScX zyc70ce#BuGs@zUmdHQ;!YvGhzZ5WO=JWFVnXK|_sWHhiCoZ&#f@85f*1tDXzZ=(&V zv`Lv$bb-lQv&;9#4+&-ZVruV@(K&!%VPN8^ta_qp5enw+)0_zBs*BsnA)+=54=QTG1gIAubOqUtiy;5px>=$HgQU7i7peyhrzyB!Jlu}FQObPnFLh=D ztv?Q#VVa}rB3~3C_qK2=eR^_p(f~l)?=LJUM#d}U&v%)Y*f-1LtZ4BDEUN&!=}Z80 zzUg!Hy46hrV_O=L>sZe052#Ete{)o!w6fuc2UIh}o82=^D>!xSrZ!lC{wK0Z79yEXh%#gKKt-0FC{OpmVq~flW;FIjF@;ffx=ew+O1fsu z_3VUrz%On~%$M7QI~+A=OntQ(vdIm5eTs#pS6t!spV6i(5{{ihmYA>YqQWH`sArwY;}*lp7hn45bS66Q)JZEA z5Fg~ZqEz`lo8&q1068ngZ#^+UK(p==aTs6sN^cI<8+ZCw-g)>!fA;diF4fHpV#TOBXg;BaY=TPO;}9(ZE4(z5e} zuNq*-JkAzbc19y?A4-P4v6JfYy;d%3>TXD>gy~cD1q<2~r~Bw#M)i_{F&C3eydkwt zMMZ;83)EB8VREr-_4~rk6a(k}OwNLZI_(^wi%lxT3tw^!2+L5?WOGCj!=X%ab}Qx4 z8rhta@zo2E>pQ2@o-qrY-AZ$H>u`eMk0}T4{;cg?lsu2KjuLC$n&Lv;)c78ou|(@^ zHYfutUEVD5*D~H<{F(pO-1(D+xUivMJ8-|wypgJlB;W;MvOhTGTv9Vr$H%#l_Bh)- zbo=+8u13g~ccutX7e49zhHHM}fa>l)y=21jt146KVD>e2Ofq}_|sJeAP*+YvARzmD(=<(`Ib3&)q=)V zu(QPJ1gqwDQ4D-Z|BBabM2d8u^)c9yxTvg0Uf2T*)%_Ngi)b(Ilca*kMkAZeC#OwY z)pXbw$+%$ZBLRWGF?X(CO010NbLDY3E-| zzj4C{*GytTRk8RFDNoU>J?4sX>Vf8b0yOEo4sKa8>RiW0(cA>hyndBE5~x|mKKX+> z&;Xq8;B?N5Jl6xO&guT~BL}{M53^gz{haKbq;7i?45Gmk4^|$Og_^qCw_M*+6a2Jx zdW!?I7OfQA+$QCij(j!RdO2NO)Kno!IieyW*trEB8QX6vt~Kh#_b0TPg3oOxeA}}O zI*NBJAGFH~46&ZS&n57AJ5pYsR?d5y?WM#fAIAAw2L2&}6V#a9{Wv$$oYks3=uP)X zFH)u6IdkMtW=&&5PSdM`_z}#TdJw3y_J8;S3DwqZuU!+BYyKRgDh z@|O$>n+6OrkGgi*OQ+O$Uhnrbw=q^_+@PMm0oiACe$h>y#Bg$#Ml0!CXj0a#>_>IW zpwmdG_2=0Uyk<(s5Q2H)BybAsSH~wTguzq`=Mn-{r|I|2Rf$z;6Dj?la!8>)?Ir_Y(Vo0tn z8R*7^$?B9@n;6+Zvi6ESr`AU1 z##W{M``-Sx0U>IUFypg33ZH2v@;S$Sag_c^MR!FtT#&ORIkqo!@@L9)oH>(>VHkMd zP=u|L>p~*`oB@Zw9^D8zt@A@cZ@SOY_MyrY;}K8%!-7TaoWK_x%H))%7HewyWo(Sv zhx5f*f!MkubJR9$Ntn0e>aXXm5Uw%y-?U?t4YF=nsgOcZ{fo42*1M(CP>(^IKW}Hv z9x`{FxjGp9x`o({r(p)# zGmd36U8=l4r5J@M{NXVL<3hyOQN3E(f1t+gz3-X7#E=n9gN>YVFDUxoPV$2otJ7eM z#Pm%G(<=SFb)+m`{WWe(GAF%zSJlNXdY?9{FviJMt`JC;U{9wqrKjY$Cc*YOXM(5J zZHYJX^D%jD@L^^_{++?-oM(UHb7=bNo8lmOF$5v6nnw(JROBwR? z>^at$Pa&czaF!-qokJhON6pgaM@jXvd2`Nnq6g=G0P~!Ji{~q4FCX-yS8T+Kj}7%~ z;IvQ45Cn~Kwoy1}qR-QTJ)G@6)IJ_Q)w#Hx@yN{V=uqX@D7R^nlxTml&Jio!0Yc0W zOGZ+--tCz6f`iiF@>9Qaoxam5+#}#1ue*e%Cs{JY_f^`0d0>CNb-^>5M&SmEfmxmN z#*`EYn1M`66}m@vnRcPrMWGlFFe8Xo#ji}lyi7mR@FRR0lNVDVf0EF@w(Y)ImmDF~ zU%TSAFwkoAU)G8r&q2R z5cqLELcLt!DYfoO=1(gb{!kLsHbyt!o>BA&Wj^*@*({Kh$|pPyPz;J&E?7l>HY5s0 zyHLY)Md14eBqIUZQR!0JF4m{FRn6Q9XCNkyONByJxO_3nni8KituT|qE&RygzQ6#D z+>k{MNeVtM#%CqkD*#Q2<4ow4)PX+KC%TNCDB<#@im`${`(0)>;P|M}5!bvmDRG`n zqicmnRlWBeiX6O7?s!~H30tORb`XYY`YLAIX>(JcqY5;(W2?jkPp1qc(QoAzmupZo zCX322F`UZ8S#u|@LvFLZ@{!G;mZ9U6;asr#+e|BLV9uLNs!M~7n$Z*o$bGhs>uSU3 zvQ~~oxtc#}=1)wujG0HJOYtSI8!#j)-d-QL?!lN5OrCx5E|b1Rxx-G zum@xXW!6@>BgH4b@A6fQK{nFG;6|cMa@}Sa`q@5O>8vVRzhKLl@P`=gLNHq+Gaf1Tat0l}$)Oln(lzb6Iaex+BWmqF{u@fg)H$Zc zb9gzb%(z?fMlQqtxZ^m5tjf`^PheFTFO&$g*XF{M1B*lmwiWrByp$9ONc? z8tCLrETT3rF~#h*ZO%bMGwCQCGf1c1t?aH1TMdJ`mW(Bjk1A~M9Dg9nAy_RHU{=j3 zjIyeD@+DR>J5Kzu9o|LGsz5()?^f}JJB;~vb$R<>Ubx$D*V_eS-qdCr#0?Jh*T`{u zxtNj#A65(VYPT_r8Z#wYql|89!+?`XdUt_~VUM%si1gkqH`MqFxg?ubQ&r=5Wm!Im z=NBC1P#S->sLYcuM|A{hz`acv7R(B`ua=2A^f&1Aaa$pZT*Do8=M?0tG}toE6)#$* z=l#$^vWq|tRERIbLTw1mQk?# zxSK;jYj_v^S$*{n z1gr1p)O*@x6yY^bDNEGduxqwx#{h(!8^@rAp#& zw%AF1h|12@(Lsv|mI6<(gKTjZgY4lX)r0-(C=UJIxB|-E*SyLW3I%I+yJ4q%^e#n7 zqc#W&f8aM4V-#@f70jBF8DqGDeMQEyem`@f z$SZ!+1iNWOcF8wtb8Q_t%Vpe?(dw;zYW?qb8SrJy{!EpGsw%JA&l%bNP_os1b;6*J z+Pf*bX)!>o@4U%upcD(3Bo6)Q2ss|yQu=H+Cjw0@2Qe+POj+31Ax9xzg`1{Oj z;m=UVwix;G>ScGVWeJq*eBd8o`PMy#RiRGt!IHPxr?&Ft#OmFr&{J&J+BPXer55?y zeJUr|;;|R~Oc^}$)~Y_*(etr;6^tfJl#@qR&8D4E)=h&YMT!9@6tOFbbKYFf_isBB z?IYRk0TVp14yUoo?>91h0GPxuJuB{bzvM?)&!)~NC(G=Cv7zJb;SL2RmL^M?5p|44% zFn4pMM}Zf$0bRR^j2nmx$wwld`zn{D%*os3nZ=eh7rU%5dmIfr`i(n)B=G43KHG`U zuXQj*`L;QbN#r$KPAM*_F6p65uoY(JVUocVNvbkg7?s?|FPFd8WPx@2ocW4lFh1<_ zaox+TWbLxYyEqT=^Jfaek1KaN%Cs?yr4Xq6U6KmB2W-COFCvBT4c?;6H)7FKrx@l= zHC`k@-FV`~Eo^M|QH5&<_8a#px$Mk)le!!~Jl6<2*PnvlGPvY4Neri)O?z9%2amHk z_s(=EPaPkoG>;i%RW-RtK2<(EpNS9;9)@)4js?b`>tyQGUSltPA;yiI@Wcxg9&DcM zQcpBNOmEhBx8V+`IK?SwQFVpY3#GF#^09uN zo^>bzYngBN8fB3OsmOZZycqIYNo;(v@{AiV@4NxEBCpFa1dyp;j&a7*KhY0hcv>9KKb1>@zA$PcH%TEWDUZiV8? zp$i^X3Nh<4im>N(b(5u8QRP5nUHgTtjMe9cQ^Nm;z~u{Ih>d%mJ}mPisor}GsNkw= zbRCi!UN~B-9?sfJ7FsZ;*7Xk2&Qniv+M=Lp!hMdAJ)4h-{hKTT!g0|q`@zmDEaZjcWqc^peYrNCRUZyYV+4X@!qw+7IAWn|&uOC{b^W!GZb&dUTAGDwg zJT5g1tHnW$hJumfQW>Gjd0(zWS@gY4qm@e9`y)-&c{c}Ek9^w-AxwI*Ms3!Z@PV+- z!@)zy$+Y|2*a)|zrguV^$iAh2qQpa#q@EbZsaeu zmk~wBIFI2nM?V|IW)%DO^VJAG^S%yeMategmwAWYcq%_JF21GafX!NIu$UkU(W;PF zrS>aIM_;yrP{9A4cgO5-%7JsuHVEwjM@v>|C`nIp!=|{>%&%&yvFv&)a43d{l-Myx zF)a-?YTtHUGu_ZjD_7YX7X;s?7>MxYXPjb-!D+A%n==__Gw}dr){<*|?B{WrU%lPJ z`o~OU>9uxnYMHlM?z2^SOD9itS;((?&J|{<9Jp1n24-pad)4X(qSP7*4{S!Ic~%CPgkD>GlmQ4|V$YWaRGP}yOczFpNi!qZT5|P{M_8X1T}0UXuYZ)NI&M4|vw}M7 ze2(Ks2l3`MauY5&i-LVafTmXW5k8A8uY8h3?k(YGesJMlh+nUTiPn`=7gld~)Yb;l z^rDDP*)i6lGOi@Fe^Wwfi6tN3s=2QH{j<~t8CsH?;w)npf=>8csxE8zHQV;m6+u9g zfVWhm(o+2bPpqPSlE4fv*;8FcV@9bB-K-zd}V&e65>N?OdHoP%G&kncetZ z_eNlaJoX9A>1M4UL#k`0j7w0ex^YreMPP8HU?KTPRHO5i@{g%Bin643@o=Q}aG4{W zRkvSK?^qUNc)jSi^nk5inp+2&sd?^xYE`j*nhCdK%S-Fq(Q87%m~d)bxpKx?R5BC; zQ)G!5Np`c<2pr|C-B2Qq zeHI+yO|Uxd*Lu@2NzSr6nKu!6MoX{fUac4Mginc$N`GUjEfkuvjhhiP&uMe(@Tid; zbLwQq1MmeVJg}BL=&YUps#iWtnU&?Jn2;RgOPgCxi7ytCv*^3%-XsUxwM$yLORbS# zEtkb_&=3!^8pU8Rr!ynzDMX%*G87WZ>+qVJcSAL0meW2O@xf0SfJJi~4Q=SS==U*u z=vx`HtI9{I4RjoyC<>TFcn+HxudxpE}v#;#pyR9GL)HMg|%m*o+ zY0ehK1Dqi%#xVdvZ$N7CURfMUjD74;8@2Qb!l}W?YdCE6AFRiWOO;@F(U%KFG!vOu z&=bS{gZsPb>52;E4hW2&a@hbL`epk(Z$PC(Z_4fM7HoF7JJEM`4MRs}?UA0q0>O6a z5`$`G2jy36mZ@W(jrBT4XH@ldBdWRK$R8csv|O^QBiQl66ADQ6h(Q1o-_;HZhN=YD zzZG|lawsjQ-MWt9i$z{w1ES!XovOYFT-M|yN*qR+z_8wiqsol?w`^&r+!aue>_mzA z^H}Eaq8J!f@FY4Jbl-kzKw0lqxr;a-T*svpge{5z9rDemhUH?9v(g-s@PUcXL6Q2J0A_gD8s-rDfNM1&-_DvD>j>9#*ia`lt<-`9%68 z=DFhz2vj+7#L-*)Ejov%3FIk<_7E5`*;1{U`@@xTJ)?kP z03_LG@}T0&1#EAme|ZZ5pnzh)U*`tp7g=8;)?6k$_7{zI!~ zIf5-htWYC2Lg|O3)HW{u!v>)DmKRb`7Bh|M*YcUR=)OYz~6=r1&@r{axN*dm%j0 z5gzaqYGQ&G%tn=OYh6cDj5(|UXGTAJGKcSPCmcm?_oY97I-Uo5^a2L=9h^L?gQ`_~ zV5wHNmr?E}Pf@GAPG`(cfQMkOKBES|8q<&(6eZ?;6z4?iJJ*L1I>+U6ME*YWrM|Bs zb?0UAe?tvp&(~ETBsw>Ly8#g#}foXbP*8c9*JqR)q9h39F7oZ;et z)RXh?Xj38oiI@HDBF=xEm^=r`nt*RfQXa_6Z**cI!3~fH$V*g2mkiPQFKWBP`DH7wlEqOoJ6-E_lwx&FJ_%#W3T&Jo{BlqabfQ0!d$L zQIzKm1_?0&QP%-ph06S{%W(Qz{fE}uNjZJui)fG=lk;f4tw9AmY~@{^Hpp3HxLv^T zne#M!#W~-Rv)1;`ch*1c9iJdr6)w4Eh6e#^6`Vrz$d#abDcb3#}*sK+Ws@EeeHdniIMO(9i^nUMUK!_T*1yjhb5WQ#YUS*Oy)R zBUirv5`=?K;!Fvs$~)s!P-(CN15e%UiuDe2I0d}0Gy3(8U$l{4&4hlGS;s7#y_H@U zj|}81t!{j8p(Dcf5-n6&5`7*?A}5i5{Bk9nW&S